2017-05-02 53 views
1
override func viewDidLoad() { 

    super.viewDidLoad() 

    let defaults = UserDefaults.standard 
    defaults.set("\(coins) $", forKey: "labelName") } 

的整数的数据这是我设置的默认值的代码。需要帮助节省可变

硬币是我的整数变量。每次有人点击一个按钮时都会增加。

labelName是我的标签,显示有多少硬币赚钱。

我似乎无法弄清楚如何使硬币数量保存在本地,然后在有人重新启动应用程序时更新。

谢谢!

回答

1

我不会硬币保存为一个字符串,你在这里做什么:

defaults.set("\(coins) $", forKey: "labelName") 

相反,它保存为一个整数:

// Set data (whenever you change the value) 
var coins = 100 
UserDefaults.standard.set(coins, forKey: "Money") 

当你想要得到的数据返回(在viewDidLoad也许):

// Get Data 
coins = UserDefaults.standard.integer(forKey: "Money") 
+0

谢谢!我最终做的是创建一个动作,当你第一次进入应用程序时弹出,说出你离线赚取了多少个硬币。它覆盖了标签,所以当你点击按钮上的“OK”时,它会更新你拥有的硬币数量,然后消失。谢谢! –

0

我认为你可以将硬币保存为一个整数而不是一个字符串,但是如果你使用它作为一个字符串,那么当你想要使用它时访问数据后你应该将它更改回字符串。如果这是有道理的。