Как сохранить позицию UISlider (или текущее значение)? - PullRequest
2 голосов
/ 13 марта 2011

У меня проблемы с попыткой сохранить позицию UISlider (или текущее значение) после выхода из ViewController.UISlider в настройках моих приложений ViewController и контролирует громкость музыки в приложении.Когда я изменяю значение и оставляю настройки ViewController, музыка использует уровень, выбранный пользователем.Однако, если вы вернетесь к настройкам ViewController, то вернется к значению по умолчанию, которое я установил в конструкторе интерфейсов.

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

1 Ответ

4 голосов
/ 13 марта 2011

NSUserDefaults - это простой и эффективный способ сохранения таких настроек, но он сохраняет только то значение, которое вы ему даете.Вам все равно нужно будет извлечь значение и использовать его для установки значения ползунка при следующей загрузке этого контроллера.Было бы полезно, если бы вы опубликовали код, который доставляет вам неприятности, а также описание того, что не работает.Можете ли вы сохранить значение в объекте sharedDefaults?Вы можете получить его?

Чтобы сохранить значение для ползунка, например, для управления температурой, вы должны сделать что-то вроде следующего:

[[NSUserDefaults sharedDefaults] setFloat:temperatureSlider.value forKey:@"temperature"];

и восстановить ползунок, вы бы сказали:

float temperature = [[NSUserDefaults sharedDefaults] floatForKey:@"temperature"];
temperatureSlider.value = temperature;

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

...