UISwitch не возвращает свое текущее состояние (вкл / выкл) - PullRequest
4 голосов
/ 15 сентября 2010

Вот метод IBAction, связанный с UISwitch с событием valueChanged:

- (IBAction) sanitySwitch {
if (checkoption.on == YES) {
    NSLog(@"SanityCheck ENABLED");
    sanityCheck = YES;
} else {
    NSLog(@"SanityCheck DISABLED");
    sanityCheck = NO;
}
}

Всегда возвращает «SanityCheck DISABLED».Опция проверки UISwitch правильно связана с его объектом из файла XIB, и были установлены правильные настройки @propery и @syntetize.

Ответы [ 2 ]

14 голосов
/ 15 сентября 2010

Замените код этим кодом. и снова подключите с помощью переключателя в качестве события управления изменением значения.

- (IBAction) sanitySwitch:(id)sender {
    if ([sender isOn]) {
        NSLog(@"SanityCheck ENABLED");
        sanityCheck = YES;
    } 
    else {
        NSLog(@"SanityCheck DISABLED");
        sanityCheck = NO;
    }
}
0 голосов
/ 15 сентября 2010

Вы используете свойство "on" неверным образом. Необходимо проверить следующее:

if ([checkoption isOn])

См. документацию правильно.

...