Apple在NSFetchedPropertyDescription类引用中说:
但请注意,与播放列表不同 一个fetched属性是静态的 - 它确实如此 不动态更新自己 目标实体中的对象 变化
很好,但究竟是什么意思:静态属性?目标实体更改中没有动态更新?
有人可以解释一下吗?
我的想法是获取的属性用于弱引用。喜欢:播放列表可以引用歌曲,但播放列表不会“拥有”它们。如果播放列表被删除,则该歌曲永远不会被删除。此外,歌曲没有对播放列表的反向引用,他们不必知道它甚至存在。
好的,如果一首歌被删除,播放列表不会以任何方式通知?或者Apple试图告诉我什么?
答案 0 :(得分:2)
基本上,这意味着每次都必须手动更新获取的结果以接收源对象的最新更改。
我刚刚查阅过你引用的文档。引用后的下一段应该说清楚:
获取属性的效果是 类似于执行获取请求 你自己并把结果放在一个 瞬态属性,尽管有 管理细节的框架。在 特别是,取得的财产不是 获取,直到它被请求,并且 结果然后缓存,直到 对象变成了错误。你用 refreshObject:mergeChanges: (NSManagedObjectContext)手动 刷新属性 - 这会导致 获取与此关联的请求 当财产再次被执行时 对象故障接下来被解雇。