我正在尝试将对象添加到 NSMutableArray
。最初我将一些响应数据分配给数组,并可以在 TableView 中显示它。加载更多数据后,尝试将新信息添加到我的原始数组时似乎崩溃了。
我为此使用 AFNetworking:
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
if(!_myArray){
_myArray = [responseObject objectForKey:@"data"];
}
else{
[_myArray addObject:[responseObject objectForKey:@"data"]];
}
[self.tableView reloadData];
}
我得到的错误如下
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'
有人可以帮忙吗?
最佳答案
您从 responseObject
字典中检索的对象很可能不是 NSMutableArray
,而是(不可变的)NSArray
。您必须创建一个可变副本才能更改它:
//...
if (!_myArray) {
_myArray = [[responseObject objectForKey:@"data"] mutableCopy];
}
//...
关于ios - 应用程序崩溃 : Mutating method sent to immutable object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22883388/