2

我正在开发具有 2 个实体的应用程序,Course 和 Schedule,其中 Course 与 Schedule 有一对多的关系。一门课程可以有多个时间表。在我的表格视图中,我显示了课程名称和为该课程安排的总小时数。假设课程 A 的课程安排 1 是上午 9 点到上午 11 点,课程 A 的课程安排 2 是下午 2 点到下午 6 点。总数是 6。如果我以任何方式更改课程名称,nsfetchResults 控制器会检测到更改并触发“controller:didchangeobject:...”但是,如果我更改我的日程安排的开始或结束时间,则 nsFetchresultsController 不会被触发除非我这样做 [self.tableview relodData],否则 tableview 不会重新加载。这是重新加载 tableview 的最佳方式吗?如果 nsfetchresultscontroller 被触发。如果你能引导我走向正确的方向,那就太好了。

在此先感谢各位。

4

1 回答 1

1

FRC 没有触发,因为它只监视Course对象的更改(因为这是它具有的获取请求)。您无法更改它,因为 fetch 只有一个实体。

如果您始终知道Schedules 何时更新,那么您当前的解决方案和重新加载就可以了。如果没有,您可以将控制器添加为托管对象上下文的观察者,然后处理所有更改通知以决定是否应该重新加载。

于 2013-08-02T06:50:01.203 回答