如何在 Swift 中递增并保存一个 int 值?

How do I increment and save a int value in Swift?

我试图跟踪用户在我的游戏中输了多少次。所以每输一次,它就会增加 1。我也想保存它,这样用户就可以看到他们总共输了多少次。现在,我拥有的代码第一次运行并进入一个,但如果在那之后我在游戏中输了,它就停留在 1。我做错了什么?谢谢!

 class level1: SKScene, SKPhysicsContactDelegate, GKGameCenterControllerDelegate {

      var deathScore = 0


      override func didMoveToView(view: SKView) {

      var deathLabel = SKLabelNode()

      deathLabel = SKLabelNode(fontNamed: "LadyIce-3D")
      deathLabel.text = "100"
      deathLabel.zPosition = 14
      deathLabel.fontSize = 100
      deathLabel.fontColor = SKColor.darkTextColor()
      deathLabel.position = CGPointMake(self.size.width / 1.1, self.size.height / 1.4)
      deathLabel.hidden = true
      self.addChild(deathLabel)

      }



  if firstBody.categoryBitMask == HeroCategory && fourthBody.categoryBitMask == GameOverCategory {


    deathScore++
    deathLabel.hidden = false

        let defaults = NSUserDefaults()

        let saveDeaths = NSUserDefaults().integerForKey("saveNumberOfDeaths")
        if(deathScore > saveDeaths)
        {
            NSUserDefaults().setInteger(saveDeaths, forKey: "saveNumberOfDeaths")
        }
        var showNumberOfDeaths = defaults.integerForKey("saveNumberOfDeaths")




    deathLabel.text = String(showNumberOfDeaths)

     }

     }

您每次都声明一个新的 var deathScore,用 0 初始化并递增它。它永远是 1.

UserDefaults.standard.set(UserDefaults.standard.integer(forKey: "saveNumberOfDeaths")+1, forKey: "saveNumberOfDeaths")

deathLabel.text = String(UserDefaults.standard.integer(forKey: "saveNumberOfDeaths"))