Можно ли использовать NSUserDefaults вместо базы данных?

Я новичок в iOS, поэтому, пожалуйста, избавьте меня, если я спрашиваю что-то всем известное или что-то не так.

Мне нужно сохранить некоторые массивы и ссылки в моем приложении. Поэтому я использовал NSUserDefaults вместо базы данных. Я знаю, что NSUserDefaults хранит значения до тех пор, пока мы не удалим приложение или каким-то образом не очистим данные приложения. Так что мне просто нужно знать, можно ли использовать NSUserDefaults вместо базы данных?


person Mujib Saiyyed    schedule 07.08.2015    source источник
comment
stackoverflow.com/questions/930239/nsuserdefaults-vs-sqlite3   -  person iBhavin    schedule 07.08.2015
comment
Я думаю, что это не так. NSUserDefaults просто полезен для настройки, конфигурации с простыми данными. Если вы хотите работать с большим количеством данных, я думаю, вам следует использовать CoreData или SQLite.   -  person Mục Đồng    schedule 07.08.2015


Ответы (5)


Когда я сохраняю данные:

  1. Данные о предпочтениях пользователя: Настройки, Учетные записи... - NSUserDefaults
  2. Данные безопасности: пароли - Связка ключей
  3. Небольшой объем данных, не требующий сложного запроса — Plist, Archiver
  4. Большой объем данных, требующий структурированного запроса — Coredata/SQLite(FMDB).
person Leo    schedule 07.08.2015
comment
Спасибо, Лео, это объяснение было больше, чем я ожидал. :) - person Mujib Saiyyed; 07.08.2015

NSUserDefaults обычно используется для хранения небольших фрагментов данных, таких как настройки приложения, предпочтения и отдельные значения, такие как «электронная почта», параметры «запомнить меня» и т. д.

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

Для начала вы можете посмотреть эти библиотеки Github, которые помогут вам, если вы хотите использовать подход базы данных. FMDB, OLCOrm

Надеюсь, это ответ на ваш вопрос :)

person Laky    schedule 07.08.2015

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

person Sajad Garshasbi    schedule 07.08.2015

Если у вас небольшое количество массивов, вы можете использовать NSUserDefaults. В противном случае вы можете использовать список свойств. проверьте эту ссылку. Надеюсь, это поможет.

Обновление и сохранение данных в plist

person Avijit Nagare    schedule 07.08.2015

Если вы хотите использовать операции базы данных, такие как adding, deleting or updating данные, позже, рекомендуется использовать библиотеки баз данных, такие как CoreData Or Sqlite В противном случае, если ваши данные не такие большие и в основном статические, тогда совершенно нормально использовать NSUserDefaults .

person Community    schedule 07.08.2015