因为:核心数据拥有生命周期,它可以在今天或明天的任何时间将它们变成故障。也许它不会关心retainCount。所以我很好奇是否保留托管对象
1)有道理
2)或 有多糟糕,为什么不好
答案 0 :(得分:3)
保留并不会真正伤害对象,并且您不会搞砸对象的生命周期,因为Core Data会很高兴地从您身下对其进行故障排除。
如果您挂在Core Data正在删除的对象上,那么风险就是风险。从你的应用程序的角度来看,它已经变成了一个没什么大不了的错误。但是,下次你去触摸那个对象并且Core Data试图实现它(将其属性等拉回到内存中)时,你会收到一个错误并导致应用程序崩溃。
因此,保留NSManagedObject的行为不会引起问题,但挂起到被删除的NSManagedObject的引用(通过赋值或保留)是件坏事。