Core data NSFetchedResultsController通知另一个实体中的更改(最佳做法)
我有两个具有多对多关系的实体(元数据和价格)。实体元数据具有一个属性Core data NSFetchedResultsController通知另一个实体中的更改(最佳做法),core-data,restkit,nsfetchedresultscontroller,Core Data,Restkit,Nsfetchedresultscontroller,我有两个具有多对多关系的实体(元数据和价格)。实体元数据具有一个属性dataIsInvalid,用于使实体Price中的所有相关价格无效。我使用了一个NSFetchedResultsController来表示元数据,一个FRC来表示价格 FRCPrice的谓词是@“ANY metaData.dataIsInvalid==0”。当然,如果我更改元数据中的dataIsInvalid属性,则不会调用FRCPrice中的controllerDidChangeContent方法,而是调用FRC元数据中的方
dataIsInvalid
,用于使实体Price
中的所有相关价格无效。我使用了一个NSFetchedResultsController
来表示元数据
,一个FRC来表示价格
FRCPrice
的谓词是@“ANY metaData.dataIsInvalid==0”
。当然,如果我更改元数据中的dataIsInvalid
属性,则不会调用FRCPrice
中的controllerDidChangeContent
方法,而是调用FRC元数据中的方法。因此,我想从FRC元数据中重新加载controllerdChangeContent
方法中的FRCPrice
数据
问题是,FRCPrice
当时无法看到元数据中的更改。所以这不起作用
此场景的最佳实践是什么?我是否应该将NSNotificationCenter
与NSManagedObjectContextDidSaveNotification
一起使用?这将在saveToPersistentStore
之后调用,FRCPrice
可以看到更改
谢谢您的帮助。元数据还包含哪些内容?只有标志?元数据
包含更多关于价格
实体中相关条目的数据。例如价格总计、服务器响应时间戳、位置、请求时间戳等等。考虑在代码>元数据元数据< /代码>上实现自定义设置程序,该代码更新<代码>数据无效> /代码>以及“脏”所有相关的代码>价格< /代码> s,以便通知它们已更改。(即使你实际上没有改变任何事情)。是的,我考虑过。但是与元数据相关的实体大约有16个。如果没有其他方法,我会尝试一下。您可以在控制器级别而不是核心数据级别发送通知。如果您做了一些更改元数据的事,请让负责处理的控制器通知具有FRC for Price的控制器保存完成后,执行performFetch。