NSUserDefaults, одно предпочтение с тремя вариантами - PullRequest
2 голосов
/ 25 января 2011

Спасибо за помощь.

Мне тяжело с предпочтением, у которого есть три опции в виде флажков. Более конкретно, связь между состояниями bool трех флажков, которые управляют предпочтением. Мне удобно настраивать одиночные флажки, и все настройки отдельных предпочтений в этой версии с тремя вариантами работают. Однако я не могу заставить флажки последовательно взаимодействовать. Итак, один включен, два выключен и т. Д.

Это мой код. Какой лучший способ сделать это?

Спасибо.

Пол

- (BOOL)displayBankOne


 {
 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 return [defaults boolForKey:PREFdisplayBankOne];

}

- (IBAction)bankOne:(id)sender

{


 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 [defaults setBool:displayBankOne forKey:PREFdisplayBankOne];

 [defaults setBool:displayBankOne forKey:PREFdisplayBankOne];
 [defaults setBool:displayBankTwo forKey:PREFdisplayBankTwo];
 [defaults setBool:displayBankThree forKey:PREFdisplayBankThree];

 [bankOneFlag setState:NSOnState];

 [bankTwoFlag setState:NSOffState];
 [bankThreeFlag setState:NSOffState];

}

1 Ответ

1 голос
/ 25 января 2011

Если я вас правильно понял, вы можете попробовать использовать Radio Group (NSMatrix).Вместо 3 отдельных флажков.И используйте привязку в IB, чтобы связать их Значение выбора с общими пользовательскими значениями по умолчанию.

В привязке в IB (привязки матрицы) просто отметьте привязать к: sharedКонтроллер пользователя по умолчанию.И дайте префекту название в Путь к ключу модели .

Чтобы дать вам представление: i Вы можете даже связать другие объекты с тем же Путь к ключу модели название.т.е. вы можете добавить метку (NSTextField) в IB и привязать ее значение к общему контроллеру по умолчанию пользователя.И установите Значение Путь к ключу модели с тем же именем, которое вы дали имя в Путь к ключу модели для группы радиосвязи.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...