从NSMutableArray中删除对象时崩溃。[英] crash while removing objects from NSMutableArray

本文是小编为大家收集整理的关于从NSMutableArray中删除对象时崩溃。的处理方法,想解了从NSMutableArray中删除对象时崩溃。的问题怎么解决?从NSMutableArray中删除对象时崩溃。问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

在我的 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 对象.

对于第二种情况.
枚举时不能从数组中删除对象.这将导致崩溃说 array has mutated while enumerating

本文地址:https://www.itbaoku.cn/post/924713.html