実行が完了した後、 UITableView の一番下までスクロールしようとしています[self.tableView reloadData]
もともと持っていた
[self.tableView reloadData]
NSIndexPath* indexPath = [NSIndexPath indexPathForRow: ([self.tableView numberOfRowsInSection:([self.tableView numberOfSections]-1)]-1) inSection: ([self.tableView numberOfSections]-1)];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
しかし、その後、 reloadData が非同期であることを読んだので、 、self.tableView
、[self.tableView numberOfSections]
および[self.tableView numberOfRowsinSection
がすべて 0 であるため、スクロールは発生しません。
ありがとう!
奇妙なのは、私が使用していることです:
[self.tableView reloadData];
NSLog(@"Number of Sections %d", [self.tableView numberOfSections]);
NSLog(@"Number of Rows %d", [self.tableView numberOfRowsInSection:([self.tableView numberOfSections]-1)]-1);
コンソールでは、Sections = 1, Row = -1; が返されます。
まったく同じ NSLogs を実行するcellForRowAtIndexPath
と、セクション = 1 と行 = 8 になります。(8が正解)