以下两个示例中的哪一个最适合检查boolean
中是否存在NSUserdefaults
密钥?
1-这可以接受吗?
if NSUserDefaults.standardUserDefaults().boolForKey("myKey"){
print("Key Does Exist")
}
2-这是首选方式吗?
if (NSUserDefaults.standardUserDefaults().objectForKey("myKey") != nil) {
print("Key Does Exist")
}
答案 0 :(得分:5)
如果你想验证是否存储了某个键的内容,第二个选项就可以了(Swift 3)。
if (NSUserDefaults.standardUserDefaults().object(forKey: "myKey") != nil) {
print("Key Does Exist")
}
object(forKey:)
documentation提到如果找不到密钥则会返回nil
。
但是如果你想验证某个密钥是否存储了什么,它实际上是Boolean
:两个版本都没问题。
Boolean
值存在且实际为true
,则为verifies。 Boolean
。 检查以下可能性(Swift 3):
if let boolValue = NSUserDefaults.standardUserDefaults().object(forKey: "myKey"),
boolValue is Bool {
// Boolean exists
}
答案 1 :(得分:1)
如果要检查值是否存在,则将使用第二种方法。 第一种方法是检查值是真还是假 第一种方法是做同样的
let booleanValue = NSUserDefaults.standardUserDefaults().boolForKey("myKey")
if booleanValue{
}
然而,第二种方法检查值 做你想做的事情的好方法是
if let booleanValue = NSUserDefaults.standardUserDefaults().boolForKey("myKey"){
print(booleanValue)
}
这将允许您访问布尔值,它为您提供布尔值作为您可以使用的变量