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

hem*_*ker 3 memory arrays objective-c

在这里使用Objective C. 假设我有一个名为的数组fooArray.图中的每个元素fooArray是一个对象......我们会打电话给他们barObject1,barObject2,barObject3,等现在每个对象都有这些都占用了内存的几个属性.现在,想象一下,我清除了其中一个对象,fooArray使用的东西达到以下程度:

[fooArray removeObjectAtIndex:0]
Run Code Online (Sandbox Code Playgroud)

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

这与我正在研究的任何项目没有直接关系,只是简单地试图理解它是如何工作的.

谢谢!

Pen*_*One 6

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