【发布时间】:2018-07-07 11:29:14
【问题描述】:
当我替换 NSMutableArray 中的值并且消息是
时,我遇到了崩溃“由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'-[__NSCFDictionary setObject:forKey:]: 变异方法发送到不可变对象'"
我所做的是首先在NSUserDefaults 中存储一个数组,然后获取该数组。之后,我正在编辑该数组的副本。
NSMutableArray *getArr = [[NSUserDefaults standardUserDefaults] valueForKey:@"List"];
NSMutableArray *newArray = [[NSMutableArray alloc]initWithArray:getArr copyItems:YES];
现在我正在替换特定索引处新数组的值
for(int i = 0;i<newArray.count;i++)
{
NSDictionary *dict = [newArray objectAtIndex:i];
dict["key"] = "NewValue"
[newArray replaceObjectAtIndex:i withObject:d];
}
【问题讨论】:
-
getArr的目的是什么?两个数组实际上具有相同的数据。 -
d的类型是什么?
标签: ios objective-c