在此处使用目标C.假设我有一个名为fooArray
的数组。此fooArray
中的每个元素都是一个对象......我们称之为barObject1
,barObject2
,barObject3
等。现在,每个对象都有几个属性占用记忆。现在,想象一下我从fooArray
使用某些东西清除了其中一个对象:
[fooArray removeObjectAtIndex:0]
现在,这实际上删除了对象吗?或者它只是将它从数组中取出,让对象及其属性在内存中浮动?
这与我正在处理的任何项目没有直接关系,只是想了解它是如何工作的。
谢谢!
答案 0 :(得分:6)
数组保留它包含的对象。从数组中删除对象将调用对象上的release
。然后,如果对象的保留计数为0
,则将取消分配。