实体关系中的数据属性更改但不触发nsfetchresultsController

时间:2013-08-02 06:31:51

标签: ios core-data tableview nsfetchedresultscontroller

我正在开发app,它有2个实体,课程和时间表,其中课程与Schedule有很多关系。一门课程可以有很多时间表。在我的tableview上,我显示了课程名称和该课程的总小时数。让课程安排1,课程A是上午9点到11点,课程安排2,课程A下午2点到下午6点。总数为6.如果我以任何方式更改课程名称,nsfetchResults控制器检测到更改并触发'controller:didchangeobject:...“但是,如果我更改了我的计划的开始或结束时间,则nsFetchresultsController不会被触发并且tableview不会重新加载,除非我做[self.tableview relodData]。这是重新加载tableview的最好方法。如果你的nsfetchresultscontroller正在触发。如果你能引导我到正确的方向那将是伟大的。请告诉我,如果你需要更多信息,因为我是一个noob @核心数据和关于SO的第一个问题。

先谢谢你们。

1 个答案:

答案 0 :(得分:0)

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

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