Просто краткий обзор того, к чему относится моя проблема. Модель данных основана на двух классах NSManagedObject, называемых «Клиент» и «Резервирование». JSON, который я получаю от веб-сервиса, выглядит так:
"Reservation": {
"Id": 1,
"Reservation": "Just a description",
"Note": "Just anything",
"Customer": {
"Id": 1,
"Name": "Smith",
"Firstname": "John",
"Phonenumber": "00000"
}
}
Я использую NSFetchedResultsController и его делегаты для управления представлением таблицы. Получение новой записи работает корректно. Мой код fetchController выглядит так:
fetchedResultsController = [Reservation fetchAllSortedBy:@"name" ascending:YES withPredicate:nil groupBy:@"name"];
fetchedResultsController.delegate = self;
Если что-то изменится в объекте Reservation, табличное представление также будет обновлено должным образом. Проблема возникает только тогда, когда что-либо изменяется в сопоставленном объекте «Клиент», например, имя, имя или номер телефона.
Проверка файла database.sql позволяет мне убедиться, что данные изменяются в базе данных, а RestKit/Core Data работает правильно. Кажется, что единственная проблема зависит от не вызываемых делегатов. Если я изменю атрибут в «Резервировании» и «Клиенте», делегаты будут правильно уволены (вероятно, из-за изменений в «Резервировании»), и табличное представление будет правильно обновлено для всех свойств «Клиент» и «Резервирование».
Если я закрою и снова открою приложение, табличное представление будет загружено так, как должно.
Reservation
). Он не отслеживает изменения связанных объектов. - person Martin R   schedule 14.11.2012NSManagedObjectContextObjectsDidChangeNotification
, уведомление содержит измененный связанный объект. Поэтому кажется, что Core Data распознает изменения, но не запускает делегатов. Есть ли другой способ обновить табличное представление связанных объектов? - person netsplit   schedule 15.11.2012