gpt4 book ai didi

swift - 我无法在 Swift 3 中使用计时器更改 label.text

转载 作者:行者123 更新时间:2023-11-30 13:04:06 24 4
gpt4 key购买 nike

@IBOutlet var timeLabel: UILabel!
var timer = Timer()

let now = Date()
let userCalendar = Calendar.current
let formatter = DateFormatter()

func printTime() {

formatter.dateFormat = "MM/dd/yy hh/mm/ss a"
let startTime = now
let endTime = formatter.date(from: "01/01/17 00/00/00 a")

let difference = userCalendar.dateComponents([.month, .day, .year, .hour, .minute, .second], from: startTime, to: endTime!)

timeLabel.text = "Yılbaşına \(difference.month!) ay, \(difference.day!) gün, \(difference.hour!) saat, \(difference.minute!) dakika, \(difference.second!) saniye kaldı"

print("hello world")

}


override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

timer = Timer.scheduledTimer(timeInterval: 1,
target: self,
selector: #selector(ViewController.printTime),
userInfo: nil,
repeats: true)

}



override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

When it is running

我正在使用带有 Swift 3 的 Xcode 8。当我运行此代码时,它每秒都会写入控制台“hello world”,但在计时器运行时它不会更新标签。我想为每一秒的标签倒计时。

最佳答案

试试这个:

DispatchQueue.main.after(when: .now() + 1.0) { //after one second
timeLabel.text = "Yılbaşına \(difference.month!) ay, \(difference.day!) gün, \(difference.hour!) saat, \(difference.minute!) dakika, \(difference.second!) saniye kaldı"
}

关于swift - 我无法在 Swift 3 中使用计时器更改 label.text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com