我试图将对象添加到NSMutableArray
。最初,我为数组分配了一些响应数据,并可以在表视图中显示它。加载更多数据后,尝试将新信息添加到我的原始数组时似乎崩溃了。
我为此使用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];
}
//...