Swift NSUserDefaults valueForKey错误

Swift NSUserDefaults valueForKey错误,swift,swift2,nsuserdefaults,Swift,Swift2,Nsuserdefaults,我试图在一个简单的游戏中保存一个高分。我是swift 2的新手,不知道自己做错了什么。我得到的错误是“类型为'int'的值没有'valueForKey'的成员。这是我上次尝试失败时的代码 var highScoreDefault = NSUserDefaults.standardUserDefaults() if(highScoreDefault.valueForKey("highScore") != nil){ highScore = highScore.valueF

我试图在一个简单的游戏中保存一个高分。我是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().IntegerWorkey(“highScore”)

在NSUserDefault中设置值非常简单

NSUserDefaults.standardUserDefaults().setInteger(yourScore, forKey: "highScore")
NSUserDefaults.standardUserDefaults().synchronize()
苹果建议只在特殊情况下调用synchronize(),例如当应用程序即将退出时

synchronize()方法,该方法在定期 间隔,使内存缓存与用户的默认值保持同步 数据库

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue(value, forKey: "highScore")