-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