Eri*_*lii 7 nsuserdefaults swift
在我的应用程序中,我使用以下代码保存密钥:
func saveKey(){
var xmineSpillere = mineSpillere
var defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(xmineSpillere, forKey: "YourKey")
}
Run Code Online (Sandbox Code Playgroud)
但是如何检查密钥是否存在?我希望代码是这样的:
if key("YourKey") exists {
println("key exists")
}
else {
println("does not exist")
}
Run Code Online (Sandbox Code Playgroud)
我如何在Swift中做这样的事情?
Vic*_*ler 20
首先,每次保存任何内容时,NSUserDefaults
您需要调用该synchronize()
方法将对持久域的任何修改写入磁盘,并将所有未修改的持久域更新为磁盘上的内容.
func saveKey(){
var xmineSpillere = mineSpillere
var defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(xmineSpillere, forKey: "YourKey")
defaults.synchronize()
}
Run Code Online (Sandbox Code Playgroud)
该
synchronize
方法会定期自动调用,只有在您无法等待自动同步时才会使用此方法(例如,如果您的应用程序即将退出),或者您希望将用户默认值更新为磁盘上的内容,即使您没有做任何改变.
然后,您可以通过以下方式获得任何值:
if let key = NSUserDefaults.standardUserDefaults().objectForKey("YourKey"){
// exist
}
else {
// not exist
}
Run Code Online (Sandbox Code Playgroud)
我希望这对你有帮助.
找到我自己,代码:
if (NSUserDefaults.standardUserDefaults().objectForKey("YourKey") != nil) {
println("key exist")
}
Run Code Online (Sandbox Code Playgroud)