Можно ли читать настройки приложения только при запуске? - PullRequest
0 голосов
/ 06 апреля 2011

Я реализовал inappsettings , чтобы в моем приложении отображалось окно настроек, чтобы можно было редактировать settings.bundle значения прямо в приложении.

Однако теперь я хотел прочитать из settings.bundle, но прочитав Руководство по программированию для iOS Я обнаружил, что settings.bundle должен читаться при запуске приложения.

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

Inappsettings предлагает метод InAppSettings registerDefaults

- (void)initialize{
    if([self class] == [AppDelegate class]){
        [InAppSettings registerDefaults];
    }
}

Но я не уверен, что это позволяет читать предпочтения в любое время. Есть предложения?

Редактировать: в моем приложении у меня есть три вида, один - панель инструментов. Другой, опция и просмотр почты, отображаются модально.

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

1 Ответ

1 голос
/ 08 апреля 2011

Очевидно, что Apple хочет навязать нам внешнюю парадигму пользовательского интерфейса.Пожалуйста, вспомните, как работает Mail.app.Иногда эта парадигма имеет смысл, иногда нет.Если у вас установлен неизменяемый набор предпочтений, вам не нужно думать о событиях обработки onPrefferenceChange, параллелизма, синхронизации, резервного копирования и репликации ОС и т. Д. Однако возможности, предоставляемые Apple, весьма ограничены в их возможностях.Вы даже не можете ввести произвольную строку (Mail.app явно использует для этого какой-то закрытый API).Таким образом, вы должны сделать выбор, можете ли вы использовать то, что предлагает Apple, или внедрить свою собственную систему предпочтений (может основываться на NSUSerDefaults или чем-то еще).Я реализовал свой собственный один раз, и я использую его с тех пор.Я предпочитаю иметь реальную систему предпочтений в приложении.Основным преимуществом этого является возможность изменять его значение, не выходя из приложения.

...