【发布时间】:2023-03-20 13:38:01
【问题描述】:
我正在尝试仅在 gameOverViewController 上加载和保存我的高分。我已经成功地将分数从 secondViewController 转移到了 gameOverViewController。 gameOverViewController 就像一个普通的游戏结束屏幕,显示你的分数、高分,并有重试和主菜单按钮。我试图将 highScoreLabel 设置为 scoreGameOverLabel,它运行,但 highScore int 保持在 0 并且不等于 gameOverScore。我正在尝试:
- if score > high score , high score = score
-
如果分数
var addOne = 0 class SecondViewController: UIViewController { @IBOutlet weak var score: UITextField! score.text = "\(addOne)" override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let gameOver = segue.destination as! GameOverViewController gameOver.gameOverText = score.text! gameOver.lastScore = addOne }
gameOverViewController
class GameOverViewController: UIViewController {
@IBAction func retryButton(_ sender: Any) {
addOne = 0
highScoreLabel.text = NSString(format: "%i", highScore) as String
}
@IBAction func mainMenuButton(_ sender: Any) {
addOne = 0
highScoreLabel.text = NSString(format: "%i", highScore) as String
}
var lastScore = 0
var highScore = UserDefaults.standard.integer(forKey: "high_score")
@IBOutlet weak var highScoreLabel: UILabel!
@IBOutlet weak var scoreGameOverLabel: UILabel!
var gameOver = ""
override func viewDidLoad() {
super.viewDidLoad()
if lastScore > highScore {
highScore = lastScore
highScoreLabel.text = NSString(format: "%i", highScore) as String
UserDefaults.standard.set(highScore, forKey: "high_score")
}
scoreGameOverLabel.text = gameOver
}
【问题讨论】:
标签: ios swift uiviewcontroller