gpt4 book ai didi

ios - 使用 UserDefaults 存储点击游戏的分数(Swift 5)

转载 作者:行者123 更新时间:2023-12-01 17:13:59 25 4
gpt4 key购买 nike

做了一个简单的增量游戏。我想要它,即使我去不同的 VC 然后返回游戏,或者重新打开游戏,它也会显示当前分数。我的问题是,如果我离开游戏,那么分数将归零。我不希望这种情况发生。分数不应重置。我听说我可以使用 UserDefaults,但我一点也不熟悉。如果你能用代码解释,那就最好了。谢谢。

import UIKit

class CookieClickerVC: UIViewController {

@IBOutlet weak var goldLabel: UILabel!
@IBOutlet weak var numberOfGold: UILabel!
@IBOutlet weak var getGoldButton: UIButton!

override func viewDidLoad() {
super.viewDidLoad()
formatItems()
let defaults = UserDefaults.standard
defaults.set(0, forKey: "goldCount")

}



@IBAction func getGoldClicked(_ sender: Any) {
goldCount += 1
numberOfGold.text = ("\(goldCount)")
}`

另外,您可能已经想通了,但 goldCount 是一个未解析的标识符。单击按钮后我应该如何更改代码?

最佳答案

第一步:声明您的 goldCount变量并将初始值设置为0
第二步:viewDidLoad ,获取存储在UserDefaults中的值并将其设置为 goldCount
第三步:同时更新您的标签

第四步:更新 goldCount 的值在 userDefaults

import UIKit

class CookieClickerVC: UIViewController {

@IBOutlet weak var goldLabel: UILabel!
@IBOutlet weak var numberOfGold: UILabel!
@IBOutlet weak var getGoldButton: UIButton!

//Step1: declare your goldCount variable and set initial value to 0
var goldCount = 0

override func viewDidLoad() {
super.viewDidLoad()
formatItems()
//Step2: on viewDidLoad, get the value stored in the UserDefaults and set it to goldCount
goldCount = UserDefaults.standard.integer(forKey: "goldCount")
//Step3: then also update your label
numberOfGold.text = ("\(goldCount)")


}

@IBAction func getGoldClicked(_ sender: Any) {
goldCount += 1
numberOfGold.text = ("\(goldCount)")
//Step4: update the value of goldCount in userDefaults
UserDefaults.standard.set(goldCount, forKey: "goldCount")
}
}

关于ios - 使用 UserDefaults 存储点击游戏的分数(Swift 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59964278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com