我正在讨论像NSMutableArray的-removeAllObjects,-removeLastObject等方法。该文件只是说这些方法'从数组中删除'对象。被移除的对象是否被释放?是否NSMutableArray的-removeLastObject RELEASE对象?
2
A
回答
6
是的。任何删除都会调用删除的NSObject
的发布。
阵列保持在内容-一个管理存储器 环境 其强引用,每个对象接收 保留消息中的其ID被添加 到阵列和一个释放消息之前 从阵列中删除或 当数组被解除分配时。如果 想要使用对象所有权语义的不同 集合,请考虑使用CFArray参考 NSPointerArray或NSHashTable 代替 。
2
是的,它们被释放。您可以通过在放入容器中的对象中覆盖release
来看到包含的对象被释放。调用超类的release
方法并在其上设置断点。你会看到它被释放。
我最初说我认为这些物体是自动释放的。原来我相信我错了。
相关问题
- 1. 对象的NSMutableArray
- 2. 解除引用(release?)NSMutableArray
- 3. 对象不是保存在的NSMutableArray
- 4. 对象中的NSMutableDictionary和NSMutableArray对象
- 5. NSMutableArray包含对象
- 6. NSMutableArray检查对象是否已经存在
- 7. 如何知道一个NSMutableArray是否包含一个对象?
- 8. 在NSMutableArray中添加对象是否有任何限制?
- 9. Obj-C:检查对象是否存在于NSMutableArray中?
- 10. 带随机对象的NSMutableArray
- 11. NSMutableArray对象的ObjectAtIndex方法
- 12. 删除对象从NSMutableArray的
- 13. Singleton对象中的NSMutableArray
- 14. ARC与非ARC removeLastObject方法
- 15. NSMutableArray,removeFromArray和release,为什么会崩溃?
- 16. 对象与NSMutableArray里的对象 - 对象如何释放
- 17. 将对象存储到NSMutableArray
- 18. 在NSMutableArray中更改对象
- 19. 将对象插入到NSMutableArray
- 20. 从NSMutableArray中删除对象
- 21. 不向NSMutableArray添加对象
- 22. 在nsmutablearray中移动对象
- 23. NSMutableArray,添加/删除对象?
- 24. NSMutableArray不添加对象
- 25. 从NSMutableArray中取出对象
- 26. 式IO /目标C:添加的NSString对象的NSMutableArray,NSMutableArray的是(空)
- 27. 是否有NSMaptable的NSMutableArray版本?
- 28. Microsoft对象,Release()函数返回值?
- 29. 用另一个NSMutableArray对自定义对象排序NSMutableArray
- 30. 如何检查对象是否存在于NSMutableArray的某个索引处?