标签显示两次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()
}
}

see label twice

答案

在计时器声明中尝试这个

var timer:Timer?

并在viewDidLoad中设置它

timerLabel.text = "0.0"

还要检查你的xib或故事板如果添加了相同的标签两次

以上是关于标签显示两次Swift的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

在一个活动中加载单个片段两次,从本地json文件中加载2个问题

谷歌地图在Android的标签片段上显示为灰色

当标签栏点击两次时禁用自动弹出到根视图控制器

Android片段生命周期:onResume调用了两次