Обновление делегата NSFetchResults работает впервые, аварийно завершает - PullRequest
1 голос
/ 30 октября 2011

Я искал вокруг ТАК для похожих ответов, но моя проблема кажется немного другой.

У меня есть UITableView, который связан с NSFetchResultsController. Цель состоит в том, чтобы собрать некоторые данные, добавить пару строк в контекст, и таблица автоматически обновится. Просто, правда? init -> пустая таблица -> executeFetch -> создать несколько объектов в контексте -> делегат видит это и обновляет мою таблицу.

Я использую шаблон NSFetchResultsController для уведомления, когда текущий контекст был изменен.

Когда я запускаю это с чистой платформой Simulator / iOS, NSFetchController успешно распознает, что данные в контексте были обновлены. Но если я запускаю приложение во второй раз, я получаю следующую ошибку:

CoreData: error: Serious application error.  Exception was caught during Core Data change
processing.  This is usually a bug within an observer of 
NSManagedObjectContextObjectsDidChangeNotification.  *** -[__NSArrayI objectAtIndex:]: 
index 40 beyond bounds for empty array with userInfo (null)

Сбой происходит при вызове [self.tableView beginUpdates];

В моей отладке я вижу, что '[fetchedResultsController fetchedObjects]' совершенно пуст, и я думаю, в этом проблема - не должно ли это обновляться с моими тестовыми данными, так как я изменил контекст? Я использую примеры Apple Recipe и CoreDataBooks для справки.

1 Ответ

0 голосов
/ 06 марта 2014

Я думаю, это потому, что вы Data Modle в классе просто не вписываются в ваш файл .xcdatamodeld.

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