1

テーブル ビューから行を削除しようとしていますが、これまでのところ失敗しています。問題は、行データは正常に削除されますが、表ビューのスケルトンである表ビューの区切り線がデータであると見なされて削除できないことです。

行の削除を試みるために使用したコードは次のとおりです。

[autocompleteTableView beginUpdates];
NSLog(@"animationArray Count: %d",[autocompleteSignalsList count]);

for (int i=[autocompleteSignalsList count]-1; i>=0; i--) {
            [autocompleteTableView reloadData];
    NSArray *paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:i inSection:0]];
    [self.autocompleteSignalsList removeObjectAtIndex:i];
    [autocompleteTableView deleteRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];
   [autocompleteTableView delegate];
}
[autocompleteTableView endUpdates];

さて、私が答えを得たいと思っている質問があります: 行を適切に削除するにはどうすればよいですか?

4

1 に答える 1

0

区切り線は、空の UITableView に自動的に表示されます。それを取り除く最善の方法は、tableView のフッターを作成することです。これは、これを行う方法に関する情報を含む良い答えです。

また、ループ コードを少し最適化します。

[autocompleteTableView beginUpdates];
NSLog(@"animationArray Count: %d",[autocompleteSignalsList count]);
NSMutableArray *paths = [NSMutableArray new];
for (int i=[autocompleteSignalsList count]-1; i>=0; i--) {
    [paths addObject:[NSIndexPath indexPathForRow:i inSection:0]];
    [self.autocompleteSignalsList removeObjectAtIndex:i];
}
[autocompleteTableView deleteRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];
[autocompleteTableView endUpdates];
于 2012-09-21T14:52:59.920 に答える