【发布时间】:2010-08-27 12:16:16
【问题描述】:
我决定开始使用removeAllObjects,这样我就可以重新使用我的一些 NSMutableArrays。但是,我发现对 removeAllObjects 的调用会导致数组被释放,因此在第二次显示 viewController 时它会崩溃。
我在网上看过,似乎有些人说removeAllObjects 只是清除了他们的数组,而另一些人则说它也释放了数组。哪个是真的?它似乎为我释放,但我觉得这很奇怪,并且希望行为只是释放数组中的对象。文档中没有对此提出警告,我也觉得这很奇怪。
编辑:打开 NSZombies 后,我得到的只是:
- -[__NSArrayM removeAllObjects]:消息发送到已释放实例 0x625e4e0
基本上告诉我,由于removeAllObjects导致数组被释放,所以不能第二次调用removeAllObjects...唉!
有人可以帮忙吗?
谢谢!
【问题讨论】:
-
你可以添加一些代码来提供上下文
标签: iphone objective-c memory-management nsmutablearray