Я просто не ссылался на свою библиотеку классов, которая содержала файл EDMX.
Вы можете использовать Core Data и создать постоянное хранилище для каждого пользователя (в ~ / Library / Application Data / My App /)
Вы также можете рассмотреть возможность использования NSDictionary в качестве внутреннего механизма хранения, а затем записать их в файлы списка свойств с помощью [NSDictionary writeToFile: atomically:]. Один мой друг любит называть словари структурой данных Бога (язык в щеку).
Если размер ваших данных невелик, у этого есть несколько преимуществ: читаемые человеком, доступные для записи, изменяемые.
На данный момент будет только один пользователь для каждой установки; однако я хотел бы получить представление о том, как меняются методы хранения, если для одной установки используется несколько пользователей.
Формат не имеет значения, если по умолчанию вы сохраняете данные только в домашнем каталоге пользователя.
Возможные варианты включают списки свойств, Core Data (больше архитектурное решение - вы либо основываете свое приложение на Core Data, либо не используете его), SQLite, NSKeyedArchiver и ваш собственный настраиваемый формат.
Какие данные вы хотите сохранить? Конечно, вы все еще можете использовать sqlite для хранения данных для нескольких пользователей (например, Firefox делает это).
Но в зависимости от ваших данных вы можете захотеть сохранить их в обычных файлах / документах? Взгляните на протокол NSCoding
и абстрактный класс NSCoder
. Или проверьте архитектуру документа ( NSDocumentController
, NSDocument
и NSWindowController
).
Я бы начал хранить данные в облаке, а не на локальном хранилище. Теперь, когда выходит iPad, что, если ваше приложение используется на iPhone и iPad. Если вы храните данные в облаке, как приложение для iPhone, так и iPad могут использовать те же данные. Если вы храните локально, очевидно, приложение для iPhone и iPad App не могут использовать те же данные.