如果相关对象更改,如何通知 NSFetchedResultsController

How to make NSFetchedResultsController be notified if related object changed

我的结构关系很简单

FeedItem - 根对象,它有对象 post。

"FeedItem"
{
 "post" : 
      {"id" : 1, "name" : "Test"}
}

我将 NSFetchedResultsController 设为 FeedItem,但在一种情况下我对 post 对象进行了更改。

我想知道,是否可以让 NSFetchedResultsController 在更改相关对象时触发?

我通过

找到了解决方案
[[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(refreshData:)
                                                     name:NSManagedObjectContextObjectsDidChangeNotification
                                                   object:nil];

但在这种情况下,我需要手动检查通知中是否有我的对象,因为它包含所有要更新、添加、删除的对象。

FRC 仅跟踪 Feed 项目中的更改,而不跟踪与其相关的项目。如果您想触发更改,则需要进行更改,例如删除并重新添加关系,因此提要项是脏的并且将被保存。

您的通知是一个可以接受的替代方案,它更简洁并且意图明确。