cellForRowAtIndexPath вызывается при нажатии на ячейку таблицы для редактирования [закрыто]
-
16-09-2019 - |
Вопрос
Когда создается таблица, cellForRowAtIndexPath
вызывается для заполнения ячеек.Ранее, когда ячейка была нажата для редактирования, cellForRowAtIndexPath
не был вызван, и в ячейку мог быть введен текст, используя:
#pragma mark Text Field Delegate Methods
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
self.textFieldBeingEdited = textField;
}
Теперь, когда я нажимаю на ячейки, которые находятся под ячейкой с row = 4, где находится верхняя часть клавиатуры, cellForRowAtIndexPath
вызывается со строкой, превышающей общее количество строк, вызывающих сбой.Когда я нажимаю на ячейки от 0 до 4, я могу редактировать ячейки, и cellForRowAtIndexPath не вызывается.cellForRowAtIndexPath ранее не вызывался для нажатия на какую-либо из ячеек.Я изменил что-то, что вызывает это, но не могу понять, что это.
Кто-нибудь знает, что может вызвать вызов cellForRowAtIndexPath при нажатии на ячейку для ее редактирования?Это выглядит почти так, как будто он думает, что создается новая таблица.
Решение 2
Я понял, в чем была проблема.Я указал в таблице на одну строку больше, чем существовало на самом деле.
Другие советы
Если у вас есть эта строка:
[myTable reloadData];
В любом месте кода он снова вызовет cellForRowAtIndexPath .