【发布时间】:2013-05-05 04:46:47
【问题描述】:
在我的 iphone 项目(启用 ARC)中,我有一个 nsmuatble 数组,其中包含大约 5 个托管对象(从核心数据中检索),在某些情况下,我需要从该 nsmutablearray 中删除所有对象
我使用了以下方法来删除对象,但在两种情况下都崩溃了,崩溃日志-[__NSArrayI removeObject:]: unrecognized selector sent to instance 0xa391640
if (surveys && [surveys count]>0)
{
[surveys removeAllObjects];
surveys = [[NSMutableArray alloc]init];
}
我也试过了
if (surveys && [surveys count]>0)
{
for(Survey *obj_Survey in surveys)
{
[surveys removeObject:obj_Survey];
}
surveys = [[NSMutableArray alloc]init];
}
谁能告诉我如何清空该数组,任何建议都将不胜感激,thanx提前
【问题讨论】:
-
调查在哪里声明和初始化?从崩溃日志来看,它看起来像是一个 NSArray 而不是 NSMutableArray。
-
如果您只想用不同的数组替换它,为什么要从数组中删除所有对象?只需释放数组,然后创建一个新数组。
-
@vcsjones 我在启用 ARC 的环境中,如何释放对象?
-
@RaviKiran 那你就不用显式释放了,设置一个新数组就好了。
-
您可能想了解 ARC,以及它对您有什么作用。 NSMutableArray 的 removeObject 与释放对象无关。
标签: iphone ios objective-c nsmutablearray removeall