-1
我想創建一個簡單的eggTimer,但計時器根本不工作(當我打印定時器到控制檯我得到這個:< __NSCFTimer:0x60800016e4c0> )和我創建的倒計時標籤根本沒有更新。我不確定最新的錯誤,因爲我試圖按照定時器的文檔。斯威夫特 - 倒計時器不工作,不更新UILabel
下面的代碼(這是第一的三個按鈕softegg,mediumegg,哈德格):
import UIKit
var count = 0
class ViewController: UIViewController {
@IBOutlet var countDownLabel: UILabel!
@IBAction func softEggButton(_ sender: Any) {
var count = 360
soft()
}
func soft() {
var timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(ViewController.update), userInfo: nil, repeats: true)
print(timer)
}
func update() {
if(count > 0){
let minutes = String(count/60)
let seconds = String(count % 60)
countDownLabel.text = minutes + ":" + seconds
count -= 1
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
我選擇了全局變量,因爲出於某種原因,當我在按鈕函數中聲明瞭count變量時,我在update()函數中出現錯誤:「使用未解析的標識符」。當我添加全局計數變量時,錯誤消失了。謝謝btw! – RjC
這是因爲您在函數或方法中創建的實例只能在這些實例中訪問。通常你會在類中創建count變量。只需在類語句下面的某處添加var count = 0即可。 – Lenny1357