我在nsmanagedobject实例上观察到以下行为。
obja是从nsmanagedobjectcontext上下文a加载的nsmanagedobject的实例。
我还留着奥巴
我访问obja的propertya(obja没有关系,只有基本属性)-在这个阶段一切正常
我从contexta中删除obja
我保存contexta
obja没有被释放(因为我对它执行了额外的retain)。例如,我仍然可以检查它是否重新登录。
我访问obja的propertya->我得到sigabret
我想知道这是coredata的设计方式还是我的代码的副作用。
最佳答案
就像this question在告诉商店nsmanagedobjects已被删除后,询问是否要保留它们一样。NSManagement对象DOCs说,“记住核心数据对被管理对象的生命周期(即原始内存管理)进行独占控制是很重要的。”复制您需要的信息,在您告诉商店被释放(从商店中删除)之后,不要使用托管对象,因为它确实是。
关于iphone - 核心数据托管对象的生命周期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5230815/