reloadData вызывает numberOfSections, numberOfRows, а не cellForRowAtIndexPath

Прежде всего, извините, если это не отформатировано правильно, в первый раз, делая это Я давно использую stackoverflow, чтобы найти помощь, и она мне очень помогла (спасибо всем), но я впервые опубликовал свой вопрос. Этот вопрос задавался много раз, но когда я вызываю [myTable reloadTable], вызываются методы numberOfSectionsInTableView и numberOfRowsInSection, но не cellForRowAtIndexPath.

Каждый ответ, который я видел при поиске, представлял собой вариацию: 1) tableView равен nil 2) numberOfRowsInSection равно 0 3) делегат / источник данных tableView не задан 4) вызов reloadTable для неправильного uiTableView.

Ничто из этого не относится ко мне, поэтому мне интересно, что еще может быть не так.

Что я пытаюсь сделать: у меня есть пользовательский uitableviewcell с кнопкой на нем, когда кнопка нажата, я хочу изменить атрибуты ячейки (например, скажем, я хочу изменить заголовок ячейки на " Кнопка нажата "). Затем я хочу сделать паузу на секунду, а затем удалить ячейку.

Не уверен, что это важно, но мой tableView находится внутри UIViewController, а viewController - это делегат и источник данных.

У меня есть метод (ниже), который срабатывает, когда кнопка нажата и атрибуты ячейки меняются по мере необходимости, однако, когда я пытаюсь обновить таблицу, чтобы показать изменения, она не работает. При первом вызове [remTable reloadData] вызываются numberofsectionsintableview и numberofrowsinsection, но не cellforrowatindexpath. Однако при втором вызове [remTable reloadData] все три метода вызываются, и все работает правильно.

doneCell.remName.text=@"BUTTON PRESSED";
[remTable reloadData];
NSLog(@"sleep");
sleep(1);
[remList removeObject:doneReminder];
[remTable reloadData];

Чтобы проверить это, я поместил операторы nslog в начале numberofsections, numberofrows и cellforrow, вывод - это имя метода, за которым следует число (для numberofsections / numberofrows).

Выход:

numberofsections 1
numberofrows 3
sleep
numberofsections 1
numberofrows 2
cellforrow

Любые идеи о том, почему cellforrow не вызывается в первый раз? Спасибо заранее, пожалуйста, дайте мне знать, если есть что-то еще, что я могу добавить, чтобы уточнить.

Ответы на вопрос(3)

Ваш ответ на вопрос