UITableView をクリアしようとしています。まず、クリアしようとしまし[self.tableView reloadData]; listOfPosts = nil
たが、tableView にはまだ 10 行が表示されています。次に、行ごとに削除しようとしましたが、結果は同じでした。
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSLog(@"Number of sections: %i", [self.tableView numberOfSections]); // => 1
NSLog(@"Number of rows in section 0: %i", [self.tableView numberOfRowsInSection:0]); // => 10
[self.tableView beginUpdates];
NSMutableArray *rowsToDelete = [[NSMutableArray alloc] init];
int nPosts = [self.tableView numberOfRowsInSection:0];
for (int i = 0; i < nPosts; i++) {
[rowsToDelete addObject:[NSIndexPath indexPathForRow:i inSection:0]];
}
currentPostList = nil;
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithArray:rowsToDelete] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
[self.tableView reloadData];
NSLog(@"Rows after endUpdates: %i", [self.tableView numberOfRowsInSection:0]); // => 0
NSLog(@"Visible rows: %i", [[self.tableView visibleCells] count]); // => 0
// But the tableView still show 10 rows
}];
PD: UITableViewController を使用しているため、self.tableView が自動的に生成されます
(下手な英語でごめんなさい)