-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

如果你有这条线:

[myTable reloadData]; 

在代码中的任何地方,它都会再次调用 CellForRowAtIndexPath。

于 2009-08-16T05:30:42.150 回答
1

我弄清楚了问题所在。我在表中指定了比实际存在的多行。

于 2009-08-16T17:56:31.747 回答