我有一个表,我用tableViewController操作(没有nib,控制器在后台创建表) 我正在尝试根据行号从表中删除一行;我可以从我用来在cellForRowAtIndexPath中创建单元格的数组中删除它,但如果我尝试执行以下操作,我会收到一个奇怪的错误,这与tableView中的代码相同:commitEditingStyle:forRowAtIndexPath: 哪里工作正常
NSIndexPath * indexPath = [NSIndexPath indexPathForRow:i + 1 inSection:1]
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
它出错
- [_ WebSafeForwarder forwardInvocation:]
然后跳出该方法但不会使应用程序崩溃
有人可以帮忙吗?
答案 0 :(得分:0)
您需要在此块中执行此操作。
[self.tableView beginUpdates];
///
[self.tableView endUpdates];
注意到块到达终点时的一件事
- (void) numberOfRowsInSection:(NSInteger)section
将再次被召唤。所以你需要更新表格视图中的行数。
希望这有帮助。
谢谢,
Madhup
答案 1 :(得分:-1)
你的第一行错过了一个分号。
如有疑问,请清理语法......
作为一个观察点,我与之合作过的大多数程序员都非常讨厌UITableViewController。它实际上没有为用户添加任何功能,只会混淆开发人员可能真正想控制的内容......例如通过XIB表的位置。
这只是一个便利课程,根据我的经验,会导致比预防更多的问题。