如果观察到的实体的属性发生变化,Restart application
是否有效?
例如,我为名为NSFetchedResultsController
的类配置了NSFetchedResultsController
。现在,此conversation
可以包含conversation
数组。此属性messages
上的允许操作是已读/未读或已删除。
因此,在某个阶段,如果我删除某条消息或将其标记为已读或更新消息,messages
结构的状态是否会变脏,我的原始获取结果控制器是否会返回更新的Conversation
修改后的conversation
?
答案 0 :(得分:1)
如果您有一个messages
数组,是的。如果messages
是一种关系,那么某些更改将导致更新(添加或删除),而某些更改将赢得(读取或未读取)。这是因为FRC正在跟踪Conversation
而非Message
实体的变化。
不同之处在于,如果Message
不是一个实体并且您正在使用数组,那么messages
实际上是一个二进制数据blob,任何更改都完全在{{ 1}}。
答案 1 :(得分:1)
正如已经指出的那样,获取的结果控制器不会对与其主要获取请求的实体不同的关系实体的属性的变化作出反应。
一种解决方案是让Message实体在属性更改时通过通知中心发出自己的NSNotification
,并让包含获取结果控制器的视图控制器监听它。