【问题标题】:Changing the "group by" in an NSFetchedResultsController更改 NSFetchedResultsController 中的“分组依据”
【发布时间】:2014-12-29 20:27:21
【问题描述】:

我使用的是NSFetchedResultsController,我需要能够更改我的数据分组。我也在整合MagicalRecord

这里是我创建self.fetchedResultsController的地方:

_fetchedResultsController = [WREntry MR_fetchAllGroupedBy:self.sortDescriptor.key withPredicate:[self tagsPredicate] sortedBy:self.sortDescriptor.key ascending:NO delegate:self inContext:[NSManagedObjectContext MR_defaultContext]];

当我的排序描述符改变时,我可以更新sortBy。见下文:

self.fetchedResultsController.fetchRequest.sortDescriptors = @[self.sortDescriptor, [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];

我不知道如何更新数据分组,因此我看不到任何数据。 fetchedResultsController 仍按之前的值分组。

有人知道如何解决这个问题吗?

注意:我试过用这个:

NSDictionary *entityProperties = [[WREntry MR_entityDescription] propertiesByName];
NSPropertyDescription *groupBy = [entityProperties valueForKeyPath:self.sortDescriptor.key];

self.fetchedResultsController.fetchRequest.propertiesToGroupBy = @[groupBy];

但由于某种原因,groupBy 是 nil,即使 entityPropertiesself.sortDescriptor.key 不是 nil。

【问题讨论】:

    标签: ios core-data nsfetchedresultscontroller magicalrecord


    【解决方案1】:

    你可能会去

    1. 再次调用 NSFetchedResultsController 上的 performFetch:
    2. 使用新请求创建一个新的 NSFRC 实例,然后再次调用 performFetch:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 2011-10-14
      • 2013-07-16
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多