我正试图在deleteRowsAtIndexPaths的帮助下折叠并展开UITableView部分。似乎没有发生任何事情,我无法弄清楚为什么。
NSMutableArray *tmpArray = [NSMutableArray array];
for (int i=1; i<numberOfRowsInSection; i++){
NSIndexPath *tmpIndexPath = [NSIndexPath indexPathForRow:i inSection:section];
[tmpArray addObject:tmpIndexPath];
}
[_tableView beginUpdates];
[_tableView deleteRowsAtIndexPaths: tmpArray withRowAnimation:UITableViewRowAnimationAutomatic];
[_tableView endUpdates];
我已经阅读了很多相关的问题,但我似乎没有做任何帮助。
知道我在这里做错了什么?
更新
似乎_tableview为null。我猜这是没有发生任何事情的主要原因。只是不明白,因为tableview是一个插座,它已经填充了行和部分。
填充行和节的tableview如何为空?
答案 0 :(得分:2)
deleteRowAtIndexPath:withAnimation:
只是告诉你的表格应该如何显示表格。您需要同时从实际数据中删除此行。 Aka tableView:NumberOfRowsInSection:
需要返回正确的行数。
答案 1 :(得分:0)
在调用deleteRowsAt...
之后,您可能正在使用原始数据重新加载表视图。请确保更改更新您的tableView数据源以便处理已删除的更改,即更改方法中每个部分的行数{{ 1}}