Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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 当我有一个NSMutableArray时,我还必须释放所有对象吗?_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 当我有一个NSMutableArray时,我还必须释放所有对象吗?

Iphone 当我有一个NSMutableArray时,我还必须释放所有对象吗?,iphone,objective-c,ios,Iphone,Objective C,Ios,当我有一个带有一些自定义类对象的NSMutableArray时,声明 NSMutableArray *list = [NSMutableArray new]; 还必须释放*列表中的所有对象吗?将对象引用放入NSMutableArray将使该对象的保留计数增加,因为数组保留所有对象。 当向数组发送release消息时,它还会向其引用的所有对象发送相同的消息 因此,如果您没有在数组上保留它们,您不应该再做任何事情。将对象引用放入NSMutableArray将使该对象的保留计数增加,因为数组保留所有

当我有一个带有一些自定义类对象的NSMutableArray时,声明

NSMutableArray *list = [NSMutableArray new];

还必须释放*列表中的所有对象吗?

将对象引用放入
NSMutableArray
将使该对象的保留计数增加,因为数组保留所有对象。 当向数组发送
release
消息时,它还会向其引用的所有对象发送相同的消息


因此,如果您没有在数组上保留它们,您不应该再做任何事情。

将对象引用放入
NSMutableArray
将使该对象的保留计数增加,因为数组保留所有对象。 当向数组发送
release
消息时,它还会向其引用的所有对象发送相同的消息


因此,如果您没有在阵列上保留它们,您不应该再做任何事情。

不,当释放阵列时,阵列中的所有对象都会发送一条释放消息。因此,当释放或排空自动释放池时,列表中的所有对象都将在这种情况下释放。

否,当释放数组时,数组中的所有对象都会发送一条释放消息。因此,当释放或清空自动释放池时,列表中的所有对象在这种情况下都将被释放。

如果在
NSMutableArray
中添加一个对象,它将对该对象调用
retain
。当您释放数组时,它将调用它拥有的所有对象上的release,因为它在您添加时先前调用了对象上的
retain

因此,您不需要在每个对象上显式调用
release
,在array实例上调用一个
release
就足够了


要了解您必须遵守的内存管理基本规则,请阅读“”

如果您在
NSMutableArray
中添加了一个对象,它将对该对象调用
retain
。当您释放数组时,它将调用它拥有的所有对象上的release,因为它在您添加时先前调用了对象上的
retain

因此,您不需要在每个对象上显式调用
release
,在array实例上调用一个
release
就足够了

要了解您必须遵守的内存管理基本规则,请阅读“”