NSUserDefaults с UISegmentedControl - PullRequest
       15

NSUserDefaults с UISegmentedControl

0 голосов
/ 04 сентября 2011

У меня есть три элемента управления UISegmented (в служебном приложении), каждый из которых сохраняет свои выбранные сегменты в UserDefaults при изменении значений.Когда панель настроек загружена (сторона с тремя сегментированными элементами управления), я получаю доступ к NSUserDefaults, чтобы выделить текущие настройки.По какой-то причине два из них работают идеально, как хотелось бы, но один, кажется, случайно колеблется, когда пользователь переходит от панели настроек к основному виду и обратно к панели настроек ......

Это используется дляустановить выбранный сегмент на панели настроек:

int setting2 = [defaults integerForKey:SegmentKey];
if(setting2 == 0)
{ NSLog(@"selected 0"); segmentedControlC.selectedSegmentIndex = 0; }
else
{ NSLog(@"selected 1"); segmentedControlC.selectedSegmentIndex = 1; }

Используется для назначения значения клавише «SegmentKey», когда пользователь вносит изменения в selectedSegmentIndex

[defaults setInteger:segmentedControlC.selectedSegmentIndex forKey:SegmentKey];

Тем не менее, по какой-то причине, когда я (в симуляторе) нажимаю индекс «0», возвращаюсь назад к основному виду, а затем возвращаюсь, первый сегмент выделяется ....

1 Ответ

1 голос
/ 04 сентября 2011

Убедитесь, что вы используете уникальный ключ для каждого целого числа в NSUserDefaults.И будьте уверены, что вы synchronize NSUserDefaults после установки целого числа.Также это быстрее для загрузки ваших ключей:

segmentedControlC.selectedSegmentIndex = [defaults integerForKey:key];
...