标签显示两次Swift

问题描述 投票:0回答:1

我的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

ios swift label counter
1个回答
-1
投票

在计时器声明中尝试这个

var timer:Timer?

并在viewDidLoad中设置它

timerLabel.text = "0.0"

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

© www.soinside.com 2019 - 2024. All rights reserved.