swift userdefaults 设置测试值
swift userdefaults settings testing value
我需要测试应用程序启动时设置页面是否已完成。
我应该测试什么?这是我尝试过的,但在展开时出现错误。
该值是一个字符串。
我尝试使用 ObjectForKey 并测试了 nil 但同样的问题。
我是新手,所以感谢您的帮助。
let settingtest:String = NSUserDefaults.standardUserDefaults().stringForKey("bankid")!
if (settingtest.isEmpty) {
performSegueWithIdentifier("getsettings", sender: self)
}
这适用于 iPad Air,但在 iPad Retina(两个模拟器)上失败
let settingTest = "questar"
NSUserDefaults.standardUserDefaults().setObject(settingTest, forKey: "Myid")
您可以使用 if let 安全地解包您的值:
if let loadedSettingTest = NSUserDefaults.standardUserDefaults().stringForKey("Myid") {
println(loadedSettingTest) // "questar"
} else {
println("empty")
}
或者您可以使用 nil 合并运算符“??”在用户默认值 returns nil:
的情况下 return 一个空字符串
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)
}
我需要测试应用程序启动时设置页面是否已完成。 我应该测试什么?这是我尝试过的,但在展开时出现错误。 该值是一个字符串。 我尝试使用 ObjectForKey 并测试了 nil 但同样的问题。 我是新手,所以感谢您的帮助。
let settingtest:String = NSUserDefaults.standardUserDefaults().stringForKey("bankid")!
if (settingtest.isEmpty) {
performSegueWithIdentifier("getsettings", sender: self)
}
这适用于 iPad Air,但在 iPad Retina(两个模拟器)上失败
let settingTest = "questar"
NSUserDefaults.standardUserDefaults().setObject(settingTest, forKey: "Myid")
您可以使用 if let 安全地解包您的值:
if let loadedSettingTest = NSUserDefaults.standardUserDefaults().stringForKey("Myid") {
println(loadedSettingTest) // "questar"
} else {
println("empty")
}
或者您可以使用 nil 合并运算符“??”在用户默认值 returns nil:
的情况下 return 一个空字符串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)
}