获取' - [__ NSCFArray removeObjectAtIndex:]:在尝试重新排序UITableView中的单元格时发送到不可变对象的变异方法

时间:2013-07-11 13:10:53

标签: ios uitableview afnetworking

我正在使用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];


}

我试图查找之前正在回答的解决方案,但无法理解。谁能告诉我这里出了什么问题?谢谢!

1 个答案:

答案 0 :(得分:8)

您的@property jobsArrayFromAFNetworking已初始化为NSArray或已宣布为copy

两者都会导致出现此错误消息,因为支持ivar会指向(不可变的)NSArray

如果您宣布自己的属性属于NSMutableArray类型,请使用strong作为存储修饰符,而不是copy