Отладка исключений CoreData - PullRequest
2 голосов
/ 15 марта 2012

Я получаю прерывистый и трудно отслеживать исключения CoreData при попытке удалить объект из UITableView.

Существует много дискуссий об этом на SO, но все они специфичны для различных реализаций, и их трудно применить к себе, насколько это удобно. Уроки, которые я видел, полезны для настройки, но не так хороши в обучении решению проблем в вашей ситуации.

Каковы лучшие методы отладки / решения проблем с ошибками CoreData этого типа и каков ожидаемый поток для правильного выполнения?

Ошибки, подобные этой:

Серьезная ошибка приложения. Исключение было получено от делегата NSFetchedResultsController во время вызова -controllerDidChangeContent :. Неверное обновление: недопустимое количество строк в разделе 0. Количество строк в существующем разделе после обновления (3) должно быть равно числу строк, содержащихся в этот раздел до обновления (3), плюс или минус количество строк вставлен или удален из этого раздела (0 вставлено, 1 удалено) и плюс или минус количество строк, перемещенных в или из этого раздела (0 перемещено в, 0 переехал). with userInfo (null)

Ответы [ 3 ]

0 голосов
/ 18 марта 2012

Я думаю, что все, что здесь происходит, это то, что вам нужно настроить любой NSMutableArray (или любой другой) для удаления объекта, о котором вы говорите, NSFetchedResultsController был просто удален. Ранее у вас было 3 объекта, вы указали, что один из них был удален, тогда он ожидает, что строки в разделе 0 теперь должны содержать 2, а не 3, которые он все еще обнаруживает.

Я понимаю, что это не тот вопрос, который вы задаете, но вопрос о "наилучших методах" может быть немного общим, чтобы получить хороший единственный ответ.

0 голосов
/ 24 марта 2012

Проблема на самом деле была вызвана лишним FetchedResultsController с UITableView, установленным в качестве его делегата (здесь обсуждается: stackoverflow.com / a / 9755379/459116 )

0 голосов
/ 16 марта 2012

Вы пытались использовать точку останова исключения?- в нем должна быть указана конкретная строка кода, которая вызывает ваше исключение.Чтобы добавить один переход к навигатору точек останова в xcode, нажмите «+» в нижнем левом углу навигатора и нажмите «Добавить точку останова исключения».

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