【问题标题】: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];
    

    【讨论】:

      猜你喜欢
      • 2011-01-29
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 2018-10-09
      相关资源
      最近更新 更多