сохранение выбора UISegmentedControl

Я делаю служебное приложение. С другой стороны, у меня есть UISegmentedControl. В зависимости от выбора пользователя метка на главном экране будет говорить одно из двух. И хотя эта функция работает по любой причине, всякий раз, когда пользователь переходит к настройкам (обратной стороне) приложения, сегментированный элемент управления выделяет ту же часть элемента управления. Если пользователь нажимает часть 0, затем возвращается в приложение, а затем возвращается на панель настроек, сегментированный элемент управления покажет выбранную часть 0. Если пользователь нажимает часть 1, затем возвращается в приложение, а затем возвращается на панель настроек, сегментированный элемент управления снова покажет выбранную часть 0. Я могу отключить это, не выбрав ни одного из них, но проблема все еще остается. Когда пользователь делает выбор, затем переходит в главное представление, затем возвращается в панель настроек, снова ничего не выбирается. Как я могу сохранить выбор пользователя, чтобы, когда он вернется на панель настроек, будет выделен его последний выбор?


person eric.mitchell    schedule 17.08.2011    source источник
comment
рассмотрите возможность использования глобальных переменных: cocoawithlove.com/2008/11/ или stackoverflow.com/questions/231947/   -  person tipycalFlow    schedule 17.08.2011


Ответы (1)


NSUserDefaults оказался ответом:

[[NSUserDefaults standardUserDefaults] setInteger:segmentedControl.selectedSegmentIndex 
    forKey:@"someKey"];
[[NSUserDefaults standardUserDefaults] synchronize];

Позже, если вы захотите получить его:

NSInteger selectedSegment = [[NSUserDefaults standardUserDefaults] 
    integerForKey:@"someKey"];
person eric.mitchell    schedule 20.11.2011
comment
Я пытаюсь сохранить NSUserDefaults для сегмента. Не могли бы вы предоставить код, который вы использовали для сохранения сегмента :) - person Programmer...; 21.12.2012
comment
Спасибо, еще один вопрос: можно ли создать оператор if или switch с помощью segmentcontrol :) - person Programmer...; 21.12.2012
comment
Здесь не место задавать вопросы. Если у вас возникла другая проблема, начните сначала, начните новый вопрос. - person eric.mitchell; 21.12.2012
comment
Soory, я потерял право задавать вопросы. Буду признателен за вашу помощь. - person Programmer...; 21.12.2012