Я получаю эту ошибку в моей консоли, когда мой iPhone приложение падает:UITableView CoreData Assertion Отказ
*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-2372/UITableView.m:1070
Он выходит из строя и дать мне это при достижении этой строки кода:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
[tableView endUpdates];
}
Немного о моем приложении и о том, как я к этому пришел. У меня есть контроллер представления с табличным представлением, в котором отображаются мои основные объекты данных. У меня есть эта настройка представления для отображения данных из двух сущностей, поэтому в таблице 1 показаны объекты из объекта, затем в разделе 2 показаны объекты из моего второго объекта.
Здесь начинается моя проблема. Хотя это получилось достаточно хорошо, я могу нажать мой следующий контроллер представлений и добавить объекты к своей первой сущности и сразу вернуться к моему контроллеру tableview без проблем. Однако, если я попытаюсь добавить объект ко второму объекту, вернувшись к моему контроллеру tableview, он сработает, как я описал выше.
Я не могу вообще разобраться, что вызывает это, и поэтому я не уверен, с чего начать. Если у вас есть какие-либо идеи, я рад опубликовать свой код, чтобы помочь вам справиться с этим.
Спасибо.
Некоторая дополнительная информация об ошибке из консоли:
"CoreData: ошибка:. Серьезная ошибка приложения Исключения заразилось от делегата NSFetchedResultsController во время разговора -controllerDidChangeContent :. Invalid обновление: неверное число строк в разделе 0. Количество строк, содержащихся в существующем разделе после обновления (2), должно быть равно количеству строк, содержащихся в этом разделе, перед обновлением (2) плюс или минус количество строк, вставленных или удаленных из этого секция (1 вставлена, 0 удалена) и плюс или минус количество строк, перемещенных в или из этого раздела (0 перемещено, 0 выведено). с userInfo (null) "
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
NSInteger rows;
id <NSFetchedResultsSectionInfo> sectionInfoAccounts = [[fetchedResultsControllerAccounts sections] objectAtIndex:0];
id <NSFetchedResultsSectionInfo> sectionInfoCosts = [[fetchedResultsControllerCosts sections] objectAtIndex:0];
if (section == 0) rows = [sectionInfoAccounts numberOfObjects];
else if (section == 1) rows = [sectionInfoCosts numberOfObjects];
return rows;
}
Xcode должен был напечатать больше об ошибке утверждения. Отредактируйте сообщение, чтобы включить все, что он напечатал. –
Это буквально все, что я получаю в консоли. –
Удалось получить дополнительную информацию об ошибке. Проверьте мой вопрос. –