Должен ли я использовать основные данные для хранения некоторых пользовательских настроек или сохранить их в NSUserDefaults? - PullRequest
7 голосов
/ 02 января 2012

В настоящее время я разрабатываю приложение, функциональность которого во многом зависит от извлеченных данных JSON. Большую часть данных я планирую сохранить в основных данных. Однако, не уверен, что мне нужно сохранять все связанные с пользователем вещи (настройки, избранное, твиттер, Facebook и т. Д.) Также в основных данных, или я должен использовать NSUserDefaults? Какие плюсы и минусы?

1 Ответ

9 голосов
/ 02 января 2012

Вы можете обратиться к собственному руководству Apple: Реализация предпочтений приложения

Вы можете сохранить пользовательские настройки любым способом: выбор между NSUserDefaults и Core Data только между APIгде первый фактически был разработан для обработки пользовательских предпочтений.

NSUserDefaults и «встроенный компонент настроек» на самом деле одно и то же.При использовании приложения настроек все еще сохраняются настройки в NSUserDefaults, к которым вы обращаетесь в своем приложении с помощью этого API.

Причина, по которой вы можете не захотеть использовать встроенное приложение настроек, заключается в следующем: пользователям неудобно менятьэти настройки.Если у вас есть настройки, которые пользователи могут захотеть часто менять, вы можете сделать это внутри своего приложения (например, включить / выключить музыку, изменить имя игрока).Кроме того, поскольку у вас есть полный контроль над вашим собственным приложением, вы можете иметь более гибкий графический интерфейс, чем тот, который Apple предоставляет в Settings.app

Что касается использования Core Data или NSUserDefaults ... я бы сказал, пойти с NSUserDefaultsтак как это гораздо проще реализовать и было разработано для этого, тогда как для реализации основных данных потребуется много усилий.

...