2013-11-14 2 views
0

Я использую Core Data с хранилищем XML в своем приложении OSX. Я заметил, что иногда, когда я убиваю приложение в Xcode, некоторые данные, созданные во время последнего сеанса, теряются после перезагрузки.Синхронизация хранилища XML-данных Core Data на диске

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

В любом случае, я, вероятно, переключусь на хранилище SQLite, но мне интересно - вообще-то это вовсе не заставить синхронизировать хранилище XML на диск немедленно? Я не вижу никаких методов в каких-либо соответствующих классах, которые бы это сделали, и документы Core Data guide также не упоминают об этом.

ответ

0

Хорошо, моя проблема - проблема была вызвана не типом хранилища, но, кстати, были организованы контексты управляемых объектов - записи были сохранены в дочернем хранилище, но файл на диске обновляется только тогда, когда родительский магазин также сохраняется. Кажется, что хранилище XML также синхронизируется с диском почти мгновенно, если вы справляетесь с этим только правильно.

Смежные вопросы