swift userdefaults设置测试值

时间:2015-03-06 15:39:39

标签: swift nsuserdefaults string

我需要测试应用启动时是否已完成设置页面。 我应该测试什么?这是我尝试过的,但是会打开一个错误。 该值是一个字符串。 我尝试使用ObjectForKey并测试了nil但同样的问题。 我是新手,所以感谢您的帮助。

let settingtest:String = NSUserDefaults.standardUserDefaults().stringForKey("bankid")!
    if (settingtest.isEmpty) {

        performSegueWithIdentifier("getsettings", sender: self)
    }

这适用于iPad Air,但在iPad Retina(两个模拟器)上都失败了

1 个答案:

答案 0 :(得分:0)

let settingTest = "questar"
NSUserDefaults.standardUserDefaults().setObject(settingTest, forKey: "Myid")

如果让我们安全地打开您的价值,您可以使用

if let loadedSettingTest = NSUserDefaults.standardUserDefaults().stringForKey("Myid") {
    println(loadedSettingTest)  // "questar"
} else {
   println("empty")
}

或者你可以使用零合并算子" ??"在用户默认值的情况下返回空字符串返回nil:

var loadedSettingTest = NSUserDefaults.standardUserDefaults().stringForKey("Myid") ?? ""

if loadedSettingTest.isEmpty {
   println(true)
} else {
    println(false)  // false
}


NSUserDefaults.standardUserDefaults().removeObjectForKey("Myid")

loadedSettingTest = NSUserDefaults.standardUserDefaults().stringForKey("Myid") ?? ""

if loadedSettingTest.isEmpty {
    println(true)    // true
} else {
    println(false)
}