我所熟悉的普通和基本使用NSFetchedResultsController管理表中的行,但我有一个有趣的问题。

我的数据被组织为例如:调度<--- >>天<--- >>路线。我目前有有取数据控制器管理日程表的创建和删除调度表视图。我现在要创建路由表视图/天。

我想列出的每一行上的路由,并创建自定义栏目标题对应于相关节内的信息。我大概可以砍东西一起通过获取所有的路由,然后通过反向关系,有各自的日切片他们,但我担心,那么我将不能够利用取数据控制器委托方法用于更新表时管理的对象的变化。

有没有人有这样的经验吗?关于如何推进任何想法?

感谢。

有帮助吗?

解决方案

在NSFetchedResultsController是为此而设计的,所以你不必发明轮子。

在初始化NSFetchedResultsController,你应该考虑指定sectionNameKeyPath。该属性正是你需要自动生成部分为你的东西。

在你的情况,我会做如下:

NSEntityDescription: @"Route"
NSPredicate: @"day = %@"
NSFetchedResultsController: sectionNameKeyPath:@"route.day"

您明白我的意思,如果你需要更多的代码澄清,告诉我。

其他提示

您需要研究以下的要通过NSSet中被创建为您代表的路线很多关系 - >>在你的数据库路径日。假设你叫你们的关系isTraversedOn和day->日程安排为isScheduled,这将是这样的:

Route *route=[self.fetchedResultsController.fetchedObjects objectAtIndex:0];
for (Day *day in route.isTraversedOn) {
   Schedule *schedule = day.isScheduled;
   NSLog(@"route is traversed on %@ according to schedule %@",day.name,schedule.name);
}

在NSSet中只是保存指定对象的实际的ID。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top