【问题标题】:Data in a entity's relationships Property changes but does not trigger nsfetchresultsController [duplicate]实体关系中的数据属性更改但不触发 nsfetchresultsController [重复]
【发布时间】:2013-08-03 07:54:49
【问题描述】:

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

在此先感谢各位。

【问题讨论】:

    标签: ios core-data tableview nsfetchedresultscontroller


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多