我想在简单的游戏中保存高分。我是swift 2的新手,不知道我做错了什么。我收到的错误是“类型'int'的值没有'valueForKey'的成员。这是我上一次不成功尝试的代码。
var highScoreDefault = NSUserDefaults.standardUserDefaults()
if(highScoreDefault.valueForKey("highScore") != nil){
highScore = highScore.valueForKey("highScore") as NSInteger! //error here
}
newFunc
score += 1
if (score > highScore){
highScore = score
var highScoreDefault = NSUserDefaults.standardUserDefaults()
highScoreDefault.setValue(highScore, forKey: "highScore")
highScoreDefault.synchronize()
}
highscoreLbl.text = "\(highScore)"
答案 0 :(得分:1)
您必须将其保存为:/siteName/app/design/frontend/[theme folder]/[theme child folder]/template/catalog/product/view.phtml
并检索它:NSUserDefaults.standardUserDefaults().setInteger(highScore, forKey: "highScore")
答案 1 :(得分:1)
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue(value, forKey: "highScore")
Apple建议仅在特殊情况下调用synchronize(),例如应用程序即将退出时。
synchronize()方法,它会定期自动调用 间隔,使内存缓存与用户的默认值保持同步 数据库中。
答案 2 :(得分:0)
在NSUserDefault中设置值非常简单
NSUserDefaults.standardUserDefaults().setInteger(yourScore, forKey: "highScore")
NSUserDefaults.standardUserDefaults().synchronize()
答案 3 :(得分:-1)
试试这个:
let highScoreDefault = NSUserDefaults.standardUserDefaults()
//Set
highScoreDefault.setInteger(yourInt, forKey: "intKey")
highScoreDefault. synchronize()
//Get
highScoreDefault.integerForKey("intKey")