Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 这是真的吗';在任何地方保留任何托管对象都不是一个好主意?_Iphone_Core Data - Fatal编程技术网

Iphone 这是真的吗';在任何地方保留任何托管对象都不是一个好主意?

Iphone 这是真的吗';在任何地方保留任何托管对象都不是一个好主意?,iphone,core-data,Iphone,Core Data,因为:核心数据拥有生命周期,它可以在今天或明天的任何时候将其转化为故障。也许它不会太在意重新入帐。所以我很好奇是否保留托管对象 1) 有道理吗 2) 或者它有多糟糕,以及为什么糟糕保留并不会真正伤害对象,而且您也不会破坏对象的生命周期,因为核心数据会很高兴地从您的下面挑出故障 风险和坏处在于,如果您挂起一个核心数据正在删除的对象。从应用程序的角度来看,它已经变成了一个没有什么大不了的错误。然而,下次当你去触摸那个对象时,核心数据试图实现它(将它的属性等拉回到内存中),你会得到一个错误并使你的应用

因为:核心数据拥有生命周期,它可以在今天或明天的任何时候将其转化为故障。也许它不会太在意重新入帐。所以我很好奇是否保留托管对象

1) 有道理吗


2) 或者它有多糟糕,以及为什么糟糕

保留并不会真正伤害对象,而且您也不会破坏对象的生命周期,因为核心数据会很高兴地从您的下面挑出故障

风险和坏处在于,如果您挂起一个核心数据正在删除的对象。从应用程序的角度来看,它已经变成了一个没有什么大不了的错误。然而,下次当你去触摸那个对象时,核心数据试图实现它(将它的属性等拉回到内存中),你会得到一个错误并使你的应用程序崩溃

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