Я использую Core Data и KVO для поиска изменений в значениях, чтобы инициировать сохранение в хранилище данных. У меня есть табличное представление с поиском подключен до NSFetchedResultsController
. Когда поиск изменяется, при нажатии кнопки «Поиск» создается новый контроллер результатов. Когда пользователь выбирает элемент в виде таблицы результатов, он входит в подробный вид и может вносить изменения.
Здесь я сталкиваюсь с проблемами. Когда пользователь вносит изменения в отдельный UIControl, который я сделал, подробное представление уведомляется и может использовать NSFetchedResultsController
, которое он помнит с того момента, когда табличное представление толкнуло меня в стек представления, чтобы получить NSManagedObjectContext
и выполнить сохранение. Когда я это делаю, я иногда получаю следующую ошибку:
Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. no object at index 89 in section at index 0 with userInfo (null)
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'no object at index 89 in section at index 0'
Я обнаружил, что это происходит, когда я выполняю поиск, и объект, который находится не в верхней части таблицы, перемещается вверх. Я смутно знаю, что может быть не так в затылке, но буду признателен за любые указания относительно того, как это исправить.