2015-08-07 2 views
3

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

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

+0

http://stackoverflow.com/questions/930239/nsuserdefaults-vs-sqlite3 – iBhavin

+2

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

ответ

10

Когда я хранить данные:

  1. предпочтения данных пользователя: Настройки, счета ... - NSUserDefaults
  2. безопасности данных: пароли - Keychain
  3. Небольшое количество данных, которые не нуждаются в сложном запросе - Plist, Archiver
  4. Большой объем данных, которые нуждаются в структурированном запросе - Coredata/SQLite (FMDB).
+0

Спасибо, Лео, Это объяснение было больше, чем я ожидал. :) –

+0

Отличное объяснение. :) –

1

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

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

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

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

1

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

1

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

Updating and saving data in plist

0

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

Смежные вопросы