将bool保存到NSUserDefaults并在使用Swift的if语句中使用 [英] Saving bool to NSUserDefaults and using it in a if statement using Swift

查看:120
本文介绍了将bool保存到NSUserDefaults并在使用Swift的if语句中使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在努力弄清楚如何使用Swift将布尔值保存到NSUserDefaults中来执行if语句.我相信我知道如何将bool保存为NSUserDefaults,但对此进行确认将不胜感激.这是我试图找出如何与swift结合使用的Objective-C代码.

I am struggling to figure out how to do an if statement with a bool saved to NSUserDefaults using Swift. I believe I know how to save the bool to NSUserDefaults but a confirmation in that would be greatly appreciated. This is the Objective-C code I am trying to figure out how to use with swift.

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"onoroff"]) {
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"onoroff"];
}

这是我到目前为止在Swift中所拥有的...

this is what I have so far in Swift...

if  NSUserDefaults.standardUserDefaults().objectForKey("onoroff") != nil{
    NSUserDefaults.standardUserDefaults().setBool(false, forKey: "onoroff")
}

我想我可能已经知道了.任何人都可以确认这是将布尔值保存到NSUserDefaults并对其使用if语句的正确方法.在这里:

I think I might have figure it out. Can anyone confirm this is the correct way to save a bool to NSUserDefaults and use a if statement with it. Here it is:

if  !NSUserDefaults.standardUserDefaults().boolForKey("onoroff"){
     NSUserDefaults.standardUserDefaults().setBool(true, forKey: "onoroff")
}else{ NSUserDefaults.standardUserDefaults().setBool(false, forKey: "onoroff")
     }

推荐答案

if NSUserDefaults.standardUserDefaults().boolForKey("onoroff") == true

上面的代码仅检查密钥的值是否为真.

The above code is only check wheather the value of the key is true or not.

if NSUserDefaults.standardUserDefaults().objectForKey("onoroff")

上面的代码检查密钥的值是否为true(如果密钥没有值).(在用户默认值"中的"onoroff"中未插入任何内容).

The above code check wheather the value of the key is true or not as well if there is no value for the key.(Means Nothing inserted in the UserDefault of "onoroff").

编辑

if !NSUserDefaults.standardUserDefaults().objectForKey("onoroff")
{
     NSUserDefaults.standardUserDefaults().setBool(true, forKey: "onoroff")
}
else
{
    NSUserDefaults.standardUserDefaults().setBool(false, forKey: "onoroff")
}

这篇关于将bool保存到NSUserDefaults并在使用Swift的if语句中使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆