Arrays ';发送到不可变对象的变异方法错误';在Xcode中

Arrays ';发送到不可变对象的变异方法错误';在Xcode中,arrays,object,methods,mutable,Arrays,Object,Methods,Mutable,我不确定在以某种方式运行程序时为什么会出现此错误 2014-05-15 16:19:28.932 Puzzle[1002:f803] *** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate: <NSInternalInconsistencyException> -[__NSCFArray replaceObjec

我不确定在以某种方式运行程序时为什么会出现此错误

2014-05-15 16:19:28.932 Puzzle[1002:f803] *** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate: <NSInternalInconsistencyException> -[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object

看起来levelsCompleteArray是一个不可变的NSArray。要将其转换为可变数组,请尝试以下操作:

NSMutableArray* mutableLevelsCompleteArray = [[NSMutableArray alloc] initWithArray:levelsCompleteArray];

猜猜看
levelsCompleteArray
是不可变的。当我们开始时,清除
xcode
标记。没关系,我现在就试试。levelsCompleteArray的声明如下:@property(非原子,保留)NSMutableArray*levelsCompleteArray;我相信我的代码中的某些东西正在改变它,使之成为不可变的。这是有效的。非常感谢。我仍然不确定为什么它会变成一个不可变的数组,但我会更深入地研究它。
NSMutableArray* mutableLevelsCompleteArray = [[NSMutableArray alloc] initWithArray:levelsCompleteArray];