我正在使用AFNetworking
来获取JSON
个小区中的UITableView
个数据。我已将数组声明为NSMutableArray
,但我仍然遇到-[__NSCFArray removeObjectAtIndex:]: mutating method sent to immutable object
错误,并且每当我尝试重新排序单元格时,应用程序都会崩溃。
这是我用于重新排序的逻辑 -
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath
toIndexPath:(NSIndexPath *)toIndexPath {
NSString *item = [self.jobsArrayFromAFNetworking objectAtIndex:fromIndexPath.row];
[self.jobsArrayFromAFNetworking removeObject:item];
[self.jobsArrayFromAFNetworking insertObject:item atIndex:toIndexPath.row];
}
我试图查找之前正在回答的解决方案,但无法理解。谁能告诉我这里出了什么问题?谢谢!
答案 0 :(得分:8)
您的@property jobsArrayFromAFNetworking
已初始化为NSArray
或已宣布为copy
。
两者都会导致出现此错误消息,因为支持ivar会指向(不可变的)NSArray
。
如果您宣布自己的属性属于NSMutableArray
类型,请使用strong
作为存储修饰符,而不是copy
。