【问题标题】:Is it true that it's a bad idea to retain any managed object, anywhere?在任何地方保留任何托管对象是一个坏主意,这是真的吗?
【发布时间】:2010-06-13 11:05:27
【问题描述】:

因为:Core Data 拥有生命周期,它可以在今天或明天的任何时间将它们变成故障。并且可能它不会太在意retainCount。所以我很好奇是否保留托管对象

1) 有意义

2) 或 如何 它是坏的,以及 为什么 它是坏的

【问题讨论】:

    标签: iphone core-data


    【解决方案1】:

    保留并不会真正伤害对象,并且您不会搞砸对象的生命周期,因为 Core Data 会很乐意从您的手下对它进行故障排除。

    如果您挂在 Core Data 正在删除的对象上,那么风险和坏处就是。从您的应用程序的角度来看,它已经变成了一个没什么大不了的故障。然而,下次你去触摸那个对象时,Core Data 会尝试去实现它(将它的属性等拉回内存),你会得到一个错误并让你的应用程序崩溃。

    因此,保留 NSManagedObject 的行为不会导致问题,但挂在被删除的 NSManagedObject 的引用(通过分配或保留)是一件坏事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 2020-12-12
      • 2012-02-07
      相关资源
      最近更新 更多