deleteRowAtIndexPath实际上并不删除该行

时间:2013-10-08 12:06:12

标签: ios uitableview

尝试从UITableView删除一行,一切正常,除非我删除了最后一行(at index 0,0),在这种情况下我收到错误

The number of sections contained in the table view after the update 
(0) must be equal to the number of sections contained in the table
view before the update (1), plus or minus the number of sections
inserted or deleted (0 inserted, 0 deleted).'

这是在它到达

之后发生的
[tableView endUpdates];

在删除行功能之后。

知道为什么deleteRowsAtIndexPaths功能不起作用?我检查了indexPath,它正好显示0,0。

由于

1 个答案:

答案 0 :(得分:1)

删除行后,应确保使用方法:

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

返回适当数量的部分 - 在您的情况下,如果删除行,部分应保持不变 - 并且根据错误,您将减少该函数返回的值。

也是这种方法

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

删除一行后必须返回正确的值(即行-1)。

粘贴更多代码,以便我们确定问题的确切位置。