如何在 swift 中使用 NSUserDefaults 保存标签?

How would I save a label using NSUserDefaults in swift?

我有这两个 UITextField,第一个 texField 从第二个 textField 中减去数字。然后它获取答案并将其放入我的 SKLabelNode 中。那很好用。但我遇到的问题是它不保存标签。当我退出应用程序并返回时,它不会保存该值。我的代码做错了什么?

   override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

    for touch in (touches as! Set<UITouch>) {
        var defaults=NSUserDefaults.standardUserDefaults()
        var save=defaults.integerForKey("saveCalories")


        var touch: UITouch = touches.first as! UITouch
        var location = touch.locationInNode(self)
        var node = self.nodeAtPoint(location)

        if let number1 = textFieldCaloriesIntake.text.toInt() {

            if let number2 = textFieldCaloriesBurned.text.toInt() {

                let subtract = number1 - number2

                defaults.setInteger(subtract, forKey: "saveCalories")


                var showTotalCalories = defaults.integerForKey("saveCalories")

                totalCaloriesLabel.text = String(showTotalCalories)
                NSUserDefaults.standardUserDefaults().synchronize()



            }




        }


      }

 }

将标签文本保存在NSUserDefault而不是

我通过将代码放入 didMoveToView 使其工作;它现在保存标签。

将此代码用于 Swift

NSUserDefaults.standardUserDefaults().setValue(value, forKey:key)

保存示例:

NSUserDefaults.standardUserDefaults().setValue(positionTextField.text!, forKey: "position")

检索示例:-

position!.text=NSUserDefaults.standardUserDefaults().stringForKey("position")

注意:记住密钥以便进一步检索