提取的属性是静态的并且不自动动态更新是什么意思?

时间:2010-01-17 13:30:30

标签: iphone core-data fetched-property

Apple在NSFetchedPropertyDescription类引用中说:

  

但请注意,与播放列表不同   一个fetched属性是静态的 - 它确实如此   不动态更新自己   目标实体中的对象   变化

很好,但究竟是什么意思:静态属性?目标实体更改中没有动态更新?

有人可以解释一下吗?

我的想法是获取的属性用于弱引用。喜欢:播放列表可以引用歌曲,但播放列表不会“拥有”它们。如果播放列表被删除,则该歌曲永远不会被删除。此外,歌曲没有对播放列表的反向引用,他们不必知道它甚至存在。

好的,如果一首歌被删除,播放列表不会以任何方式通知?或者Apple试图告诉我什么?

1 个答案:

答案 0 :(得分:2)

基本上,这意味着每次都必须手动更新获取的结果以接收源对象的最新更改。

我刚刚查阅过你引用的文档。引用后的下一段应该说清楚:

  

获取属性的效果是   类似于执行获取请求   你自己并把结果放在一个   瞬态属性,尽管有   管理细节的框架。在   特别是,取得的财产不是   获取,直到它被请求,并且   结果然后缓存,直到   对象变成了错误。你用   refreshObject:mergeChanges:   (NSManagedObjectContext)手动   刷新属性 - 这会导致   获取与此关联的请求   当财产再次被执行时   对象故障接下来被解雇。