NSUserDefaults valueForKey 错误
NSUserDefaults valueForKey error
我想在一个简单的游戏中保存高分。我是 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)"
试试这个:
let highScoreDefault = NSUserDefaults.standardUserDefaults()
//Set
highScoreDefault.setInteger(yourInt, forKey: "intKey")
highScoreDefault. synchronize()
//Get
highScoreDefault.integerForKey("intKey")
你必须像这样保存它:NSUserDefaults.standardUserDefaults().setInteger(highScore, forKey: "highScore")
并像这样检索它:var highScore: Int = NSUserDefaults.standardUserDefaults().integerForKey("highScore")
在 NSUserDefault 中设置值非常简单
NSUserDefaults.standardUserDefaults().setInteger(yourScore, forKey: "highScore")
NSUserDefaults.standardUserDefaults().synchronize()
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue(value, forKey: "highScore")
Apple 建议仅在应用即将退出等特殊情况下调用 synchronize()。
The synchronize() method, which is automatically invoked at periodic
intervals, keeps the in-memory cache in sync with a user’s defaults
database.
我想在一个简单的游戏中保存高分。我是 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)"
试试这个:
let highScoreDefault = NSUserDefaults.standardUserDefaults()
//Set
highScoreDefault.setInteger(yourInt, forKey: "intKey")
highScoreDefault. synchronize()
//Get
highScoreDefault.integerForKey("intKey")
你必须像这样保存它:NSUserDefaults.standardUserDefaults().setInteger(highScore, forKey: "highScore")
并像这样检索它:var highScore: Int = NSUserDefaults.standardUserDefaults().integerForKey("highScore")
在 NSUserDefault 中设置值非常简单
NSUserDefaults.standardUserDefaults().setInteger(yourScore, forKey: "highScore")
NSUserDefaults.standardUserDefaults().synchronize()
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue(value, forKey: "highScore")
Apple 建议仅在应用即将退出等特殊情况下调用 synchronize()。
The synchronize() method, which is automatically invoked at periodic intervals, keeps the in-memory cache in sync with a user’s defaults database.