setRetainsRegisteredObjects有什么意义:?

don*_*ile 5 iphone core-data

为什么我要将其设置为YES?会有什么不同?我一定要担心吗?

Tay*_*day 10

setRetainsRegisteredObjects:YES使你的背景下保持较强的参考,这将另行维护与弱关系管理的对象.执行获取请求时,返回的对象对相应的受管对象上下文具有弱引用(默认情况下).仅当对象被修改(添加,更改,删除)时,托管对象上下文(MOC)才与对象保持强关系.

设置setRetainsRegisteredObjects:YES确保在所有获取的对象之间保持强指针.

我不知道@TechZen在谈论什么 - 如果你不小心,这可能是一个偷偷摸摸的错误的原因.当你发现自己处于有用的情况时,这是一个有用的方法来调用MOC.


Tec*_*Zen -3

担心?不知道你有兴趣浪费时间吗?

只有当您想要在 Core Data 中进行自定义内存管理时(您几乎从不这样做),您才需要摆弄这个特定的上下文属性。我不得不去查找它只是为了记住它是什么,因为我已经很多年没有使用它了。

Core Data 的经验法则是,如果您有一个带有默认值的属性,那么在绝大多数情况下您都会使用默认值。这就是为什么它是默认的。

除非您看到几乎每个示例中的上下文属性(即商店名称)都发生了更改,否则在 90% 的使用中没有必要更改它。新手当然没有必要尝试去改变它。

一旦你抽象地了解了核心数据,它就会变得相对简单。使用绑定,可以在 Mac 上使用 Core Data,而无需编写任何代码。一切都只适用于默认配置。