从数组中删除对象是否运行对象的dealloc方法?

时间:2011-07-19 19:29:45

标签: objective-c arrays memory

在此处使用目标C.假设我有一个名为fooArray的数组。此fooArray中的每个元素都是一个对象......我们称之为barObject1barObject2barObject3等。现在,每个对象都有几个属性占用记忆。现在,想象一下我从fooArray使用某些东西清除了其中一个对象:

[fooArray removeObjectAtIndex:0]

现在,这实际上删除了对象吗?或者它只是将它从数组中取出,让对象及其属性在内存中浮动?

这与我正在处理的任何项目没有直接关系,只是想了解它是如何工作的。

谢谢!

1 个答案:

答案 0 :(得分:6)

数组保留它包含的对象。从数组中删除对象将调用对象上的release。然后,如果对象的保留计数为0,则将取消分配。