如何使用NSFetchedResultsController和自定义部分?

时间:2012-03-06 14:04:51

标签: ios objective-c core-data nsfetchedresultscontroller

我的应用有一个时间表列表。

  • 第1节:医生
  • 第2节:个人
  • 第3节:过期时间表

我目前正在使用sectionNameKeyPath:@"source",这是医生或个人,问题是已过期的部分。这可以通过同一实体中的endDate属性来确定。

NSFetchedResultsController *aFetchedResultsController =
    [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                        managedObjectContext:managedObjectContext
                                        sectionNameKeyPath:@"source" cacheName:@"Root"];

那么如何继续使用NSFetchedResultsController,但不知何故使用这三个部分?

1 个答案:

答案 0 :(得分:3)

在您的数据模型中,在您的Schedule实体上创建一个名为“sectionName”的新瞬态属性。然后在Schedule类-(NSString*)sectionName上编写一个方法,以返回正确的字符串。最后使用@"sectionName"作为获取结果控制器的部分名称键路径。

不要忘记,在您的获​​取请求中,项目必须已按正确的顺序排序,以便分组到部分 - 这是NSFetchedResultsController的要求。