4

私は他の誰かによって作成されたサブクラス化された tableView を使用しておりloadObjects、tableView にセルを再作成させるメソッドが付属していますが、再作成後にテーブルビューにトップに戻るようには指示しません。この機能を次のように実装しようとしました。

- (void)loadObjects{
    [super loadObjects];
    [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

ただし、一度loadObjects呼び出されると (テーブル ビューを最初にロードする必要がある場合)、次の例外が発生します。

*** Terminating app due to uncaught exception 'NSRangeException', reason: 
'-[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: 
row (0) beyond bounds (0) for section (0).'

テーブル ビューを一番上にスクロールする行を、ボタンを押すたびに呼び出される別のカスタム メソッドに転送したところ、まったく問題なく動作したため、 の上書きに問題がありますloadObjects。スローされた例外を誰かが理解していますか?

4

2 に答える 2