NSMutableArray的-removeLastObject是否释放对象?

时间:2009-09-08 03:33:04

标签: iphone uikit nsmutablearray nsarray

我正在讨论NSMutableArray的-removeAllObjects,-removeLastObject等方法。文档只说这些方法'从数组中删除'对象。删除的对象是否已释放?

2 个答案:

答案 0 :(得分:6)

是的。任何删除都会调用已删除的NSObject

的版本

NSArray class reference指定:

  

Arrays保持强烈的引用   他们的内容 - 在一个托管的内存中   环境,每个对象接收一个   在添加id之前保留消息   到数组和发布消息   当它从数组中删除或   当数组被释放时。如果你   想要一个与众不同的集合   对象所有权语义,考虑一下   使用CFArray参考,   NSPointerArray或NSHashTable   代替。

答案 1 :(得分:2)

是的,他们被释放了。您可以通过覆盖放在容器中的对象中的release来查看所包含的对象。调用超类的release方法并在其上设置断点。你会看到它被释放了。

我原先说过,我认为对象是自动释放的。结果我相信我错了。