UISwitch未返回其当前状态(开/关)

Kam*_*ami 4 iphone uiswitch

以下是使用valueChanged事件链接到UISwitch的IBAction方法:

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

它总是返回"SanityCheck DISABLED".UISwitch checkoption正确地链接到XIB文件中的对象,并且已经放置了正确的@propery和@syntetize设置.

deo*_*hal 14

用此代码替换代码.并再次与switch连接作为值更改控制事件.

- (IBAction) sanitySwitch:(id)sender {
    if ([sender isOn]) {
        NSLog(@"SanityCheck ENABLED");
        sanityCheck = YES;
    } 
    else {
        NSLog(@"SanityCheck DISABLED");
        sanityCheck = NO;
    }
}
Run Code Online (Sandbox Code Playgroud)