在我的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];
        }

任何人都可以告诉我如何清空该数组吗,任何建议将不胜感激,谢谢提前

最佳答案

答案很简单。

对于第一种情况。
检查已初始化数组的部分,并检查代码中是否在某个地方,是否已将NSArray分配给NSMutableArray对象。

对于第二种情况。
枚举数组时,无法从数组中删除对象。这将导致崩溃并显示array has mutated while enumerating

关于iphone - 从NSMutableArray删除对象时崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16483294/

10-13 09:26