【问题标题】:MagicalRecord - how to clear nsfetchedresultscontroller cache and change predicateMagicalRecord - 如何清除 nsfetchedresultscontroller 缓存和更改谓词
【发布时间】:2015-09-16 18:54:47
【问题描述】:
以下工作一次:
self.fetchedResultsController = [Cat MR_fetchAllSortedBy:@"age" ascending:YES withPredicate:predicate groupBy:@"age" delegate:self inContext:[NSManagedObjectContext MR_defaultContext]];
但设置新谓词并再次进行此调用不会刷新数据。如何清除缓存并强制 fetchedResultsController 获取新数据?
【问题讨论】:
标签:
ios
nsfetchedresultscontroller
nsfetchrequest
magicalrecord
【解决方案1】:
您必须更改 fetchedResultsController 的谓词或 sortDesctriptors 属性。
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"startDate" ascending:YES];
[[fetchedResultsController fetchRequest] setSortDescriptors:@[sortDescriptor]];
或
[[fetchedResultsController fetchRequest] setPredicate:predicate];
..你又取了
if (![[self fetchedResultsController] performFetch:&error]) {
// Handle you error here
}
..并刷新您的 tableView
[self.tableView reloadData];