Настройки пользователя приложения iPhone - Каков рекомендуемый подход?

StackOverflow https://stackoverflow.com/questions/4690029

  •  11-10-2019
  •  | 
  •  

Вопрос

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

Я знаю 3 способа хранения предпочтений в моем приложении - 1. Основные данные. 2. Nsuserdefaults. 3. Использование сборки в настройке компонента.

Люблю понимать плюсы и минусы этих подходов.

Спасибо, Шани

Это было полезно?

Решение

РЕДАКТИРОВАТЬ ПРИМЕЧАНИЕ: Моя предыдущая ссылка, Реализация предпочтений приложений, сломано. Остальная часть этого ответа все еще должна применяться. Однако теперь вы можете также Хранить данные в iCloud таким образом, это похоже (но отдельно от) NSUserDefaults.

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

Во -первых, вы можете хранить настройки, как хотите: это просто пользовательские данные. Выбор между nsuserdefaults и основными данными находится только между API, где первый разработан специально для обработки предпочтений пользователей. Но ты мог (Технически) Используйте файлы INI, если вы абсолютно хотели (но не так!). Так что есть более 3 способов сделать это.

Во-вторых, nsuserdefaults и «встроенный компонент настроек» на самом деле одинаковые. Использование приложения «Настройки» по -прежнему будет хранить предпочтения в nsuserdefaults, которые вы получаете в своем приложении с этим API.

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

Но это действительно вопрос графического интерфейса, а не о том, как хранятся настройки.

Что касается использования основных данных или nsuserdefaults ... ну, как я уже сказал, предназначен специально для пользовательских предпочтений, а другая для пользовательских данных на основе строк. NsuserDefaults позволяет вам иметь настройки по умолчанию, тривиально добавлять новые настройки и поддерживает встроенную систему настроек. Это также довольно просто: он просто загружает список свойств. С другой стороны, основные данные требуют всего стойкого стека контекста объекта.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top