是有可能,以过滤NSFetchedResultsController的结果,而新的呼叫到databaselayer,就像我跟一个NSArray做到这一点与“filteredArrayUsingPredicate”如何筛选NSFetchedResultsController像“filteredArrayUsingPredicate”
感谢
是有可能,以过滤NSFetchedResultsController的结果,而新的呼叫到databaselayer,就像我跟一个NSArray做到这一点与“filteredArrayUsingPredicate”如何筛选NSFetchedResultsController像“filteredArrayUsingPredicate”
感谢
你可以在你用来初始化NSFetchedResultsController的NSFetchRequest上设置一个谓词。例如:
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
fetchRequest.entity = <YOUR ENTITY>
fetchRequest.predicate = [NSPredicate predicateWithFormat:<YOUR PREDICATE>];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:moc sectionNameKeyPath:nil cacheName:nil];
// ...
您应该不需要“刷新”提取的结果控制器,因为它应该随着更改和保存而更新。您可能需要使用样板代码来使用和/或更新带有提取结果控制器的表视图。
什么问题?你自己回答了......'NSFetchedResultsController'有属性'@property(nonatomic,只读)NSArray * fetchedObjects',这是一个数组,你可以过滤 – 2012-02-06 21:30:30
谢谢,如果我在TableViewControlle中使用NSFetchedResultsController,我该如何告诉NSFetchedResultsController使用生成的NSArray代替它自己的@property(非原子,只读)NSArray * fetchedObjects,它的方法如objectAtIndexPath – mica 2012-02-06 21:37:45