我在我的视图控制器上创建了一个NSMutableArray属性,它为用户保存了一些核心数据对象 .
当用户按下按钮时,我用while循环清除可变数组的内容,
while (self.mArray.count != 0){
[context deleteObject:self.mArray[0]];
[self.mArray removeObjectAtIndex:0];
}
在while循环之后,我重新启动数组:
self.mArray = [[NSMutableArray alloc] init];
我知道没有必要,因为数组中应该没有任何对象,但无论如何,当我重新初始化数组,然后在调试器中检查数组的类时,我得到__NSArrayI,这是由抛出的异常证实的当我尝试将对象添加到self.mArray之后 .
我已经找到了对我的数组的任何其他引用,但我总是将[self.mArray mutableCopy]作为其他方法的参数传递,并且我从未将它作为NSArray转换 . 我只是不明白调用[[NSMutableArray alloc] init]如何将数组初始化为不可变数组 .
我错过了什么?
1 回答
您可能已在属性声明中声明了mArray作为副本 . 将其改为强者 .