gpt4 book ai didi

ios - Uint8 不可转换为 Int(节省游戏最佳时间)

转载 作者:行者123 更新时间:2023-11-28 13:15:00 24 4
gpt4 key购买 nike

基本上,我在用

var highscoreDefault = NSUserDefaults.standardUserDefaults()

保存高分,在本例中是时间。我遇到的问题是秒表计时器正在使用 Uint8,我收到错误消息“Uint8 不可转换为 Int”

这让我有点发疯试图解决这个问题,我得出的结论是最简单的方法是将 Uint8 值转换为 Int,这样最快的时间可以作为高分保存在游戏中。

如有任何帮助,我们将不胜感激。

'startSeconds' 和 'startFraction' 变量在 Uint8 中......但是 'hseconds' 和 'hfrac' 变量需要是 Int 才能保存。

错误发生在这些行上:

hseconds = startSeconds
hfrac = startFraction

这里是相关函数:

func stop() {


hseconds = startSeconds
hfrac = startFraction

if (hseconds < highscoreSec) {


// && (fraction < highscoreFrac)

//highscoreSec = startSeconds
//highscoreFrac = startFraction


highscoreDefault.setValue(highscoreSec, forKey: "seconds")
highscoreDefault.setValue(highscoreFrac, forKey: "frac")
}

highscoreDefault.synchronize()

timer.invalidate()
timer == 0
}

这里是更多的代码:

override func viewDidLoad() {
super.viewDidLoad()

var highscoreDefault = NSUserDefaults.standardUserDefaults()
playButton.hidden = true

if (highscoreDefault.objectForKey("seconds") != nil) { highscoreSec = highscoreDefault.valueForKey("seconds")as NSInteger!
}

if (highscoreDefault.objectForKey("frac") != nil) { highscoreFrac = highscoreDefault.valueForKey("frac")as NSInteger!
}

highscoreLabel.text = "(highscoreSec):\(highscoreFrac)"

// Do any additional setup after loading the view.
}

如果您注意到,一些行在调试过程中被注释掉了。

最佳答案

试过这个吗?

let hseconds = Int(startSeconds) 
let hfrac = Int(startFraction)

编辑:变量名

关于ios - Uint8 不可转换为 Int(节省游戏最佳时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29329361/

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