我正在使用 AFNetworking
获取 UITableView
单元格中的 JSON
数据。我已将数组声明为 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];
}
我试图查找之前正在回答的解决方案,但无法理解。谁能告诉我这里出了什么问题?谢谢!
最佳答案
您的@property jobsArrayFromAFNetworking
已使用 NSArray
初始化或声明为 copy
。
两者都会导致此错误消息,因为支持 ivar 会指向一个(不可变的)NSArray
。
如果您将属性声明为 NSMutableArray
类型,请使用 strong
作为存储修饰符而不是 copy
。
关于ios - 尝试对 UITableView 中的单元格重新排序时获取 '-[__NSCFArray removeObjectAtIndex:]: mutating method sent to immutable object',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594310/