-2

テーブルが作成さcellForRowAtIndexPathれると、セルに値を設定するために呼び出されます。以前は、編集のためにセルがクリックされたときにcellForRowAtIndexPath呼び出されず、次の方法でセルにテキストを入力できました。

#pragma mark Text Field Delegate Methods
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
self.textFieldBeingEdited = textField;
}

キーボードの上部にある行 = 4 のセルの下にあるセルをクリックするとcellForRowAtIndexPath、クラッシュの原因となる行の総数よりも大きい行で呼び出されます。セル 0 から 4 をクリックすると、セルを編集できますが、cellForRowAtIndexPath は呼び出されません。cellForRowAtIndexPath は、セルをクリックするために以前は呼び出されませんでした。これを引き起こしているものを変更しましたが、それが何であるかわかりません。

セルをクリックして編集するときに cellForRowAtIndexPath が呼び出される原因を知っている人はいますか? 新しいテーブルが作成されていると考えているように見えます。

4

2 に答える 2

1

私は問題が何であるかを理解しました。テーブルに実際に存在する行よりも 1 行多く指定していました。

于 2009-08-16T17:56:31.747 に答える
1

この行がある場合:

[myTable reloadData]; 

コードのどこでも、CellForRowAtIndexPath を再度呼び出します。

于 2009-08-16T05:30:42.150 に答える