Основные данные не могут сохранить NSManagedObjectContext - PullRequest
0 голосов
/ 27 июня 2011

Итак, я проанализировал xml и создал кучу ManagedObjects со связями, такими как «User has_many Badges», приложение может отображать профиль каждого пользователя с только что проанализированными данными. Но если я закрою приложение из многозадачной панели и снова открою его. Данные исчезли. Нет предупреждений. С чего начать отладку? Благодарю. Код выглядит так: [self parseXML]; [appDelegate saveContext];

Подробности: вот как я создал базовую модель данных: я использовал код из шаблона из xcode. У каждого пользователя много значков, но у меня нет обратной связи между значком и пользователем. Сразу после того, как я проанализировал xml и создал всех пользователей со значками, приложение могло извлекать данные из контекста и генерировать представления профиля со значками и всем остальным.

Проблема:

После того, как я закрою приложение из панели многозадачности, основные данные будут хранить все свойства пользователя, такие как проекты и телефоны, кроме значков. Значок - это отдельная сущность. Спасибо.

Решено: проблема решилась сама собой после того, как я настроил обратную связь. Не могу придумать других причин, может быть проблема, если я испорчу другой код.

1 Ответ

1 голос
/ 28 июня 2011

Не так много, но:

Если граф объектов Core Data работает во всех отношениях, за исключением того, что он не сохраняет данные, тогда проблема в значительной степени должна быть на уровне самого постоянного хранилища.

(1) Убедитесь, что у вас нет постоянного хранилища в памяти. Как следует из названия, в этом типе магазинов нет ничего постоянного. Граф объектов будет работать, контекст выполнит операцию сохранения, но на диск ничего не будет записано. Проверьте метод initWithPersistentStoreCoordinator:configurationName:URL:options, чтобы увидеть тип и местоположение магазина.

(2) Убедитесь, что вы не поместили хранилище в одну из папок cache или tmp в каталоге приложения. Эти папки будут регулярно очищаться.

Если вы просто использовали шаблон из шаблонов XCode для проекта Core Data, у вас не должно быть этих проблем, поскольку шаблон создает файл постоянного хранилища sqlite в каталоге Documents.

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