2010-04-21 77 views
0

我有一个表,我操纵一个tableViewController(没有笔尖,并且控制器正在幕后创建表) 我试图从表中删除一行基于它的行号;我可以从数组中删除它,我用它来创建cellForRowAtIndexPath中的单元格,但是如果我尝试执行以下操作(与tableView中的代码相同),我得到一个奇怪的错误:commitEditingStyle:forRowAtIndexPath: 它工作正常如何以编程方式删除表格行?

NSIndexPath * indexPath = [NSIndexPath indexPathForRow:i + 1的切入口:1]

[self.tableView deleteRowsAtIndexPaths:[NSArray的 arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

它给出了一个错误

- [_ WebSafeForwarder forwardInvocation:]

,然后跳出方法,但不会崩溃的应用程序

谁能帮助?

回答

-1

那么你在第一行缺少一个分号。

有疑问时,清理你的语法...

作为观察点,大多数程序员的我合作过,并跟真的很讨厌的UITableViewController。它确实不会增加用户的功能,而只会混淆开发人员可能真正想要控制的事情,比如通过XIB表的位置。

这只是一个便利的课程,根据我的经验,会导致比预防更多的问题。

+0

它实际上在代码中的分号 - 剪切和粘贴错误! – 2010-04-21 16:03:56

0

你需要在这个块中做到这一点。

[self.tableView beginUpdates]; 

/// 

[self.tableView endUpdates]; 

做注意到一两件事,当块到达终点

- (void) numberOfRowsInSection:(NSInteger)section 

将会再次调用。所以你需要更新表视图中的行数。

希望这会有所帮助。

感谢,

Madhup

相关问题