gpt4 book ai didi

iphone - Core Data 托管对象的生命周期

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:58 25 4
gpt4 key购买 nike

我在我的 NSManagedObject 实例上观察到以下行为。

  1. ObjA 是从 NSManagedObjectContext ContextA 加载的 NSManagedObject 实例。
  2. 我保留 ObjA
  3. 我访问 ObjA 的 PropertyA(ObjA 没有关系,只有基本属性)- 在这个阶段一切正常
  4. 我从 ContextA 中删除了 ObjA
  5. 我保存 ContextA
  6. ObjA 没有被释放(因为我对它执行了额外的保留)。例如,我仍然可以检查它的 retainCount。
  7. 我访问 ObjA 的 PropertyA -> 我得到 SIGABRT

我想知道这是 CoreData 设计的工作方式还是我的代码的副作用。

最佳答案

就像this question在告诉商店它们已被删除后,您询问是否保留 NSManagedObjects。 NSManagedObject 文档说“重要的是要记住 Core Data 保留对托管对象生命周期的独占控制(即原始内存管理)。”复制您需要的信息,在告诉商店它已被释放(从商店中删除)后不要使用托管对象,因为它确实是。

关于iphone - Core Data 托管对象的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5230815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com