2016-10-09 2 views
0

Я делаю приложение с интеграцией CoreData и iCloud. Я прошел через Apple Documentation, чтобы адаптировать мое уже работающее приложение для интеграции синхронизации iCloud.Изменения в CoreData iCloud не сохранены

Вставка объектов и удаление, кажется, работают нормально. Когда я удалю приложение и переустановить его на своем телефоне, все синхронизированные данные будут правильно восстановлены.

Моя проблема в том, что я изменяю объект NSManagedObject. Контекст, который я использовал для запроса CoreData для извлечения моего объекта, не обнаруживает никаких изменений в моих объектах при изменении поля. Поэтому контекст не сохраняется. Если я попытаюсь создать контекст сохранения, даже если никаких изменений не обнаружено, ничего не сохраняется.

Я прошел через стек oververflow и обнаружил, что в контексте должен быть установлен параметр StalenessInterval равным 0.0. Это не помогло моему приложению. Есть ли у вас какие-либо идеи о том, что может быть неправильным?

Я заметил, что контекст, переносимый NSManagedObject, кажется отличным от того, который я использовал для извлечения данных. Если я вызову метод save в этом контексте, ничего не произошло.

Я полностью потерял, так как думал, что это будет так же просто, как вставка и удаление объектов.

Благодарим за помощь!

(пс: я код с Swift, но и объектный код C является приемлемым как ответ :))

ответ

0

Я был на самом деле пытается использовать две базы данных, в то время как я должен использовать конфигурацию, чтобы отделить объекты, сохраненные в облаке и тех, сохранены локально.

Для тех, кто хочет получить дополнительную информацию о CoreData с iCloud, я предлагаю пройти через это приложение video от Apple WWDC 2012, что очень помогает в этом вопросе.