У меня есть приложение OS X, которое использует подкласс NSPersistentDocument
для хранения данных. Тип постоянного хранилища Core Data — SQLite. Я полагаюсь на стандартные команды меню, которые создаются при создании нового проекта для приложения на основе документов с Core Data в Xcode.
Это приложение существует уже около двух лет и постоянно развивается. Только сегодня я обнаружил, что "Сохранить как" не работает в моей последней версии. Поведение выглядит следующим образом:
- Я создаю новый документ и ввожу некоторые данные.
- Я сохраняю документ, закрываю его и снова открываю. Все хорошо. Затем я выбираю «Сохранить как», выбираю новое имя и место для файла. Он переименовывается, и я могу ввести еще некоторые данные.
- Сохраняю документ, закрываю, заново открываю, а он совсем пустой.
- Когда я открываю исходный документ, все изменения, которые должны быть в сохраненном документе, присутствуют.
- Приложение не вылетает и не выдает никаких ошибок.
Я почти уверен, что когда-то он работал правильно. Я попробовал самую первую «официальную» версию своей программы, и поведение такое же (неправильное).
Редактировать: я создал новый проект Xcode того же типа, только с одним объектом Core Data. Поведение такое же. Единственная разница с моим приложением заключается в том, что новый проект автоматически использовал новую команду меню «Дублировать», которая была введена в 10.7 Lion, вместо «Сохранить как». Поэтому мне нужно нажать клавишу Option, чтобы выбрать «Сохранить как».
Я тестировал его только на 10.9.3, но на двух разных Маках. У кого-нибудь есть идеи, где посмотреть?
Изменить 2: похоже, это связано с конкретными учетными записями (моя учетная запись на двух компьютерах). На другом аккаунте работает корректно.