0

我试图在 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 为空。我猜这是什么都没有发生的主要原因。只是不明白,因为 tableview 是一个出口,它已经充满了行和节。

充满行和节的表格视图如何为空?

4

2 回答 2

2

deleteRowAtIndexPath:withAnimation:只是告诉您的表格应该如何显示表格。您需要同时从实际数据中删除此行。AkatableView:NumberOfRowsInSection:需要返回正确的行数。

于 2013-03-17T12:03:05.307 回答
0

您可能会在调用后使用原始数据重新加载表格视图deleteRowsAt...确保更改更新您的 tableView 数据源以应对已删除的更改,即更改方法中每个部分的行数numberOfRowsInSection

于 2013-03-17T12:28:06.657 回答