我试图删除两个"产品"在我的tableView中,来自productArray属性,它是一个MutableArray。
[self.productsArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
我在控制台中收到此错误:
- [__ NSArrayI removeObjectAtIndex:]:无法识别的选择器发送到实例0x7ff6f850e410 2015-06-24 15:09:24.568 NavCtrl [17333:8660630] ***由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [__ NSArrayI removeObjectAtIndex:]:无法识别的选择器已发送例如0x7ff6f850e410'
查看调试器似乎indexPath属性为NULL。我猜这是我的代码崩溃的一个很好的候选人,但我不知道为什么indexPath没有我删除的行的值。
感谢任何帮助,如果需要更多信息,请与我们联系。
答案 0 :(得分:0)
[__NSArrayI removeObjectAtIndex:]: indicates that your array is not mutable!
确保数组确实是可变的。如果是,请尝试先删除单元格,然后从阵列中删除该对象。
答案 1 :(得分:0)
它在吗?
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;
您可以粘贴所有代码吗?
试试这个来测试:
NSIndexpath *idxPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.productsArray removeObjectAtIndex:idxPath];
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:@[idxPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];