Как решить ошибку «Неверное обновление: неверное количество строк в разделе 0» в данном конкретном случае? - PullRequest
0 голосов
/ 20 сентября 2019

В моем TableViewController я получаю следующее error:

Неустранимое исключение: NSInternalInconsistencyException Недопустимое обновление: недопустимое количество строк в разделе 0. Число строк в существующем разделе послеобновление (500) должно быть равно количеству строк, содержащихся в этом разделе до обновления (459), плюс или минус количество строк, вставленных или удаленных из этого раздела (1 добавлено, 1 удалено) и плюс или минус числострок, перемещенных в этот раздел или из него (0 перемещен, 0 удален).

Теперь эта проблема поднималась в ряде случаев здесь, на SO, но с тех пор какЯ не испытал ни малейшего опыта с objective-c. Мне трудно применить к моему собственному коду.

Здесь есть шаг: Ошибка 'Неправильное обновление: недопустимое количество строк в разделе 0' при попытке удалить строку в таблице

и вот, например: 'Неверное обновление: недопустимое количество строк в разделе 0

Теперь мой собственный код выглядит следующим образом:

-(void)updateContactsStatusOnMainThread:(NSArray*)rowsToReload{

    if([sectionsArray count] > 0 && [sectionsArraySAEs count] > 0){
        //It crashes on the line below
        [self.tableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];  
    }
}

Прочитав похожие темы, я все еще не могу понять,что я должен делатьМожет ли кто-то указать мне в правильном направлении.Я понимаю проблему, поскольку за сообщением об ошибке достаточно легко следовать.Но как это относится к моему коду?Это касается sectionsArray и sectionsArraySAEs и как я могу предотвратить возникновение ошибки?

1 Ответ

0 голосов
/ 20 сентября 2019

Я предполагаю, что вы вставили несколько строк в ваш tableView, но не забудьте добавить их в ваш источник данных (sectionsArray или sectionsArraySAEs или какой-то другой).

Сначала добавьте элемент в dataSource, затем- вставить строку в табличное представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...