ios - 离开 View Controller 时,UISwitch 不会保持其值

标签 ios objective-c uiviewcontroller uiswitch

如果我将我的 UISwitch Controller 切换为“关闭”并离开 View Controller 并返回到 View Controller ,它将显示 UISwitch 处于“打开”状态(默认值)而不是“关闭”。从/切换到 View Controller 时如何保存 UISwitch Controller 的值?

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

最佳答案

您需要以某种方式保留设置。下面是一个使用 NSUserDefaults 的例子:

[[NSUserDefaults standardUserDefaults] setBool:yourSwitch.on forKey:@"switchValue"];
[[NSUserDefaults standardUserDefaults] synchronize];

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

NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
BOOL state = [[NSUserDefaults standardUserDefaults] boolForKey:@"switchValue"];

关于ios - 离开 View Controller 时,UISwitch 不会保持其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077038/

相关文章:

ios - 从不同的目标获取 Bundle ID

objective-c - 将核心数据功能添加到现有 iOS 应用程序时遇到问题

iphone - 照片查看器(缩放、平移、缩放等)? Three20 的替代品

iphone - 我将如何将一个 View Controller 推送到另一个没有 nib 文件的 View Controller ?

iOS 使用 Quartz 旋转 UIImage

ios - 为什么会出现 Modal ViewController :animated: Turn The Background Black?

ios - Swift 的 Obj-c 代码 - NSDateFormatter

ios - CollectionView 单元格未显示

ios - 突出显示 UILabel 中的部分文本

Swift:在 View 之间传递多个值