mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-02 09:31:32 +08:00
42 lines
1.5 KiB
Objective-C
42 lines
1.5 KiB
Objective-C
//
|
|
// DBManagedObjectCache.m
|
|
// DiscussionBoard
|
|
//
|
|
// Created by Jeremy Ellison on 1/10/11.
|
|
// Copyright 2011 Two Toasters. All rights reserved.
|
|
//
|
|
|
|
#import "DBManagedObjectCache.h"
|
|
#import "../Models/DBTopic.h"
|
|
#import "../Models/DBPost.h"
|
|
|
|
@implementation DBManagedObjectCache
|
|
|
|
- (NSArray*)fetchRequestsForResourcePath:(NSString*)resourcePath {
|
|
if ([resourcePath isEqualToString:@"/topics"]) {
|
|
NSFetchRequest* request = [DBTopic fetchRequest];
|
|
NSSortDescriptor* sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:YES] autorelease];
|
|
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
|
|
return [NSArray arrayWithObject:request];
|
|
}
|
|
|
|
// match on /topics/:id/posts
|
|
NSArray* components = [resourcePath componentsSeparatedByString:@"/"];
|
|
if ([components count] == 4 &&
|
|
[[components objectAtIndex:1] isEqualToString:@"topics"] &&
|
|
[[components objectAtIndex:3] isEqualToString:@"posts"]) {
|
|
NSString* topicIDString = [components objectAtIndex:2];
|
|
NSNumber* topicID = [NSNumber numberWithInt:[topicIDString intValue]];
|
|
NSFetchRequest* request = [DBPost fetchRequest];
|
|
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"topicID = %@", topicID, nil];
|
|
[request setPredicate:predicate];
|
|
NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"createdAt" ascending:YES];
|
|
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
|
|
return [NSArray arrayWithObject:request];
|
|
}
|
|
|
|
return nil;
|
|
}
|
|
|
|
@end
|