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];