У меня есть приложение OS X, которое опирается на NSPsistentDocument и Core Data для обработки настраиваемого типа файла приложения (который сохраняется как XML).Изменения файла на диске при открытии приложения с обновленной моделью Core Data
Я заметил, что когда я обновляю модель основных данных (я делаю простые изменения, опираясь на легкую миграцию) просто открывает файл с приложением, использующим новую модель, изменит файл на диске. Резервная версия исходного файла также появляется на диске (с добавлением «~» к имени файла). Как только это произойдет, для предыдущей (выпущенной) версии приложения невозможно открыть файл.
Чтобы быть ясным: я просто открываю файл. Я не сохраняю файл обратно на диск. Я могу посмотреть в Finder и увидеть «~», как только я открою файл.
Это похоже на действительно опасное поведение. Я должен быть очень осторожным, а не открыть файл, который в настоящее время используется моей пользовательской базой, потому что это сделает его недоступным для них.
Является ли это поведением OS X по умолчанию? Есть ли способ настроить NSPersistentDocument или мою базовую модель данных, чтобы открытие файла меняло хранилище внутри приложения, но изменения не распространяются обратно на диск, если я явно не сохраняю?