标签显示两次Swift
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标签显示两次Swift相关的知识,希望对你有一定的参考价值。
我的Counter应用程序出了问题。启动计数器时一切正常,但标签显示初始值0.0加上新的时间+ = 0.2。请参阅下面的结果。有没有人有办法解决吗?谢谢!
import UIKit
class CounterViewController: UIViewController {
var time = 0.0
var timer = Timer()
@IBOutlet weak var timerLabel:UILabel!
@IBAction func startCounter(_ sender:UIButton){
timer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector:#selector(CounterViewController.startAction), userInfo:nil, repeats: true)
}
@IBAction func pauseCounter(_ sender:UIButton){
timer.invalidate()
}
@IBAction func stopCounter(_ sender:UIButton){
timer.invalidate()
time = 0.0
timerLabel.text = "(time)"
}
@objc func startAction(){
time += 0.2
timerLabel.text = "(time)"
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
答案
在计时器声明中尝试这个
var timer:Timer?
并在viewDidLoad中设置它
timerLabel.text = "0.0"
还要检查你的xib或故事板如果添加了相同的标签两次
以上是关于标签显示两次Swift的主要内容,如果未能解决你的问题,请参考以下文章
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题