2010-04-21 74 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

相關問題