Персистентное устройство хранения данных Cocoa/MacOSX

Я просто не ссылался на свою библиотеку классов, которая содержала файл EDMX.

6
задан Sev 19 July 2009 в 09:15
поделиться

5 ответов

Вы можете использовать Core Data и создать постоянное хранилище для каждого пользователя (в ~ / Library / Application Data / My App /)

7
ответ дан 9 December 2019 в 22:38
поделиться

Вы также можете рассмотреть возможность использования NSDictionary в качестве внутреннего механизма хранения, а затем записать их в файлы списка свойств с помощью [NSDictionary writeToFile: atomically:]. Один мой друг любит называть словари структурой данных Бога (язык в щеку).

Если размер ваших данных невелик, у этого есть несколько преимуществ: читаемые человеком, доступные для записи, изменяемые.

2
ответ дан 9 December 2019 в 22:38
поделиться

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

Формат не имеет значения, если по умолчанию вы сохраняете данные только в домашнем каталоге пользователя.

Возможные варианты включают списки свойств, Core Data (больше архитектурное решение - вы либо основываете свое приложение на Core Data, либо не используете его), SQLite, NSKeyedArchiver и ваш собственный настраиваемый формат.

1
ответ дан 9 December 2019 в 22:38
поделиться

Какие данные вы хотите сохранить? Конечно, вы все еще можете использовать sqlite для хранения данных для нескольких пользователей (например, Firefox делает это).

Но в зависимости от ваших данных вы можете захотеть сохранить их в обычных файлах / документах? Взгляните на протокол NSCoding и абстрактный класс NSCoder . Или проверьте архитектуру документа ( NSDocumentController , NSDocument и NSWindowController ).

1
ответ дан 9 December 2019 в 22:38
поделиться

Я бы начал хранить данные в облаке, а не на локальном хранилище. Теперь, когда выходит iPad, что, если ваше приложение используется на iPhone и iPad. Если вы храните данные в облаке, как приложение для iPhone, так и iPad могут использовать те же данные. Если вы храните локально, очевидно, приложение для iPhone и iPad App не могут использовать те же данные.

0
ответ дан 9 December 2019 в 22:38
поделиться