【问题标题】:Is there a way to have NSFetchedResultsController detect changes in more than one entity?有没有办法让 NSFetchedResultsController 检测多个实体的变化?
【发布时间】:2013-04-27 13:12:14
【问题描述】:

我有一个包含 3 个实体的简单 CoreData 模型的应用:

B A C

A 是主要对象,它与(聚合)2 个其他实体(B 和 C)有关系。

UI 在 UITableView 和详细视图(它是一个主/详细应用程序)中显示来自所有 3 个的一些数据。我的问题是,如果用户编辑当前查看的项目并修改 B 或 C 的属性,则键入 A 类型实体的 NSFetchedResultsController 不会通过 NSFetchedResultsControllerDelegate 调用。

从逻辑上讲,B/C 对象的更改是对正在显示的聚合的 A 的更改。有没有办法配置 fetch 或控制器,以便在这些实体类型中的任何一个发生变化时它会自行更新?

【问题讨论】:

  • 我之前没有尝试过,但是尝试使用 'NSFecthRequest relationshipKeyPathsForPrefetching' 为传递给 FRC 的请求设置依赖关系。
  • 这是我想到的,它并不能完全解决问题,它只会完成预取。不过感谢您的想法!
  • this很像

标签: ios objective-c core-data nsfetchrequest


【解决方案1】:

有多种解决方案。

  1. 像上面 Dan Shelley 指出的 link 那样破解您的实体。
  2. 让您的视图控制器通过委托协议或通知相互监听并做出相应的反应。如果您没有涉及 Core Data 和 NSFetchedResultsController,这是标准方式。

【讨论】:

    猜你喜欢
    • 2023-02-07
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    相关资源
    最近更新 更多