离开视图控制器时,UISwitch不会保持其值

Fal*_*awk 0 objective-c uiviewcontroller uiswitch ios

如果我将UISwitch控制器切换到"关闭"并离开视图控制器并返回到视图控制器,它将显示UISwitch"打开"(默认值)而不是"关闭".从/向视图控制器切换时如何保存UISwitch控制器的值?

- (void)controlsEnabled:(BOOL)enabled
{
    self.onandoffSwitch.enabled = enabled;   
    if (enabled)
    {
        NSLog(@"ON");    
    }
    else
    {
        NSLog(@"OFF");     
    }
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*tín 5

您需要以某种方式保持设置.这是一个使用示例NSUserDefaults:

[[NSUserDefaults standardUserDefaults] setBool:yourSwitch.on forKey:@"switchValue"];
[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)

并在再次加载视图层次结构时读取它:

NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
BOOL state = [[NSUserDefaults standardUserDefaults] boolForKey:@"switchValue"];
Run Code Online (Sandbox Code Playgroud)