我查看了AFIncreementalStore的gitHub页面中包含的示例,并认为我理解从http://apiurl.com/users这样的URL请求来自远程api的对象的过程。基本上我会在UsersListViewController中执行此操作:
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"User"];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"userID" ascending:YES]];
fetchRequest.returnsObjectsAsFaults = NO;
_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:[(id)[[UIApplication sharedApplication] delegate] managedObjectContext] sectionNameKeyPath:nil cacheName:nil];
_fetchedResultsController.delegate = self;
[_fetchedResultsController performFetch:nil];
我很难弄清楚如何从http://apiurl.com/users/1/posts这样的网址中获取类似“帖子”的内容。
我最初的想法是我在获取请求中添加一个谓词:
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Post"];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"createdAt" ascending:YES]];
fetchRequest.returnsObjectsAsFaults = NO;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userID == %@", userID];
[request setPredicate:predicate];
_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:[(id)[[UIApplication sharedApplication] delegate] managedObjectContext] sectionNameKeyPath:nil cacheName:nil];
_fetchedResultsController.delegate = self;
[_fetchedResultsController performFetch:nil];
添加此谓词是否会使用此URL生成GET请求(假设我在谓词中使用的用户ID为1)? http://apiurl.com/users/1/posts