创建表时,会调用cellForRowAtIndexPath
来填充单元格。以前,当单击某个单元格进行编辑时,未调用cellForRowAtIndexPath
,并且该单元格可以使用以下方式键入文本:
#pragma mark Text Field Delegate Methods
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
self.textFieldBeingEdited = textField;
}
现在,当我单击位于单元格下方且行= 4的单元格(键盘顶部位置)时,调用cellForRowAtIndexPath
的行大于导致崩溃的总行数。当我单击单元格0到4时,我可以编辑单元格并且不会调用cellForRowAtIndexPath。之前没有为单击任何单元格调用cellForRowAtIndexPath。我改变了造成这种情况的东西,却无法弄清楚它是什么。
有人知道在单击要编辑的单元格时可以调用cellForRowAtIndexPath的原因是什么?几乎看起来它认为正在创建一个新表。
答案 0 :(得分:1)
如果你有这一行:
[myTable reloadData];
代码中的任何地方,它都会再次调用CellForRowAtIndexPath。
答案 1 :(得分:1)
我弄清楚问题是什么。我在表中指定了一行而不是实际存在的行。