Ios NSUser默认值保存总分

Ios NSUser默认值保存总分,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,有没有一种方法可以使用NSUser默认值保存玩过的每一场游戏的总分 我有这样一个游戏,在游戏中每秒钟增加1分: let waitScore = SKAction.waitForDuration(1.0) //add score every second let incrementScore = SKAction.runBlock ({ ++self.score self.scoreLabel.text = "\(self.score)"}) self.runAction(SKA

有没有一种方法可以使用NSUser默认值保存玩过的每一场游戏的总分

我有这样一个游戏,在游戏中每秒钟增加1分:

let waitScore = SKAction.waitForDuration(1.0) //add score every second
let incrementScore = SKAction.runBlock ({
    ++self.score
    self.scoreLabel.text = "\(self.score)"}) 
self.runAction(SKAction.repeatActionForever(SKAction.sequence([waitScore,incrementScore])))
每次游戏结束时,我该如何将其添加到总分中,以便在主屏幕中加载总分?我在考虑当比分达到某一点时,制作额外的场景。
谢谢。

您可以像这样存储分数,然后调用increasePoint或storeUserPoints(0)并在主屏幕中执行getUserPoints()


以下功能可用于使用
NSUserDefaults

它将当前分数与高分值(hs)进行比较。然后,仅当分数高于他们的highscore时,它才会返回并将分数存储为highscore

func gameDidEnd(S: Int) -> Int {        
    /* load score data */
    let ud = NSUserDefaults.standardUserDefaults()
    if ud.valueForKey("score") == nil { ud.setInteger(S, forKey: "score") }
    let hs = ud.integerForKey("score")
    if S > hs {
        ud.setInteger(S, forKey: "score")
        return S
        println("NEW HIGHSCORE!")
    } else {
        return hs
    }
    self.score.text = "\(S)"
}
func gameDidEnd(S: Int) -> Int {        
    /* load score data */
    let ud = NSUserDefaults.standardUserDefaults()
    if ud.valueForKey("score") == nil { ud.setInteger(S, forKey: "score") }
    let hs = ud.integerForKey("score")
    if S > hs {
        ud.setInteger(S, forKey: "score")
        return S
        println("NEW HIGHSCORE!")
    } else {
        return hs
    }
    self.score.text = "\(S)"
}