Я создавал приложение с 1 месяца, используя NSFetchedResultsController, и я тестировал приложение на 3.1.2 SDK. Проблема в том, что я использовал NSFetchedResultsController повсюду в своем приложении и работал над версией SDK 3.1.2, теперь мой клиент говорит, что я должен сделать его совместимым с версией 3.0, и срок почти наступил. *
Но происходит сбой каждый раз, когда я меняю объект, обрабатываемый контроллером, приложение вылетает с очень странными ошибками.
Проблема возникает при удалении последнего объекта в разделе и при внесении изменений в объект, привязанный к другому разделу.
Я использовал пример кода из «Больше iPhone 3 Development Tackling iPhone SDK 3» Дэйва Марка и Джеффа Ламарша. Я также включил некоторые изменения из текст ссылки
Вот пример вывода консоли при сбое приложения.
*** Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Неверное обновление: неверное количество разделов. Количество разделов, содержащихся в табличном представлении после обновления (1), должно быть равно количеству разделов, содержащихся в табличном представлении до обновления (2), плюс или минус количество вставленных или удаленных разделов (2 вставлено, 0 удален).
2010-03-14 16: 23: 29.758 Instaproofs [5879: 207] Стек: (
807902715,
7364425,
807986683,
811271572,
815059090,
815007323,
211023,
4363331,
810589786,
807635429,
810579728,
3620573,
3620227,
3614682,
3609719,
27337,
810595174,
807686849,
807683624,
839142449,
839142646,
814752238
)
Если бы я знал, что NSFetchedResultsController настолько глючит, я бы никогда не использовал его.
Так что мне нужно, чтобы мой NSFetchedResultsControllerDelegate нормально работал на SDK 3.0 и выше.
Было бы спасение жизни, если бы кто-нибудь помог мне понять, что я делаю неправильно.