gpt4 book ai didi

ios - Swift:为什么即使我使用计时器更改其文本属性,我的标签也不会更新?

转载 作者:可可西里 更新时间:2023-11-01 00:57:10 26 4
gpt4 key购买 nike

我只想实现一个简单的时钟,这是我的 Storyboard:

enter image description here

代码:

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var timeLabel: UILabel!
let dateFormatter = DateFormatter()

override func viewDidLoad() {
super.viewDidLoad()
dateFormatter.dateFormat = "hh:mm:ss"
_ = Timer.init(timeInterval: 0.1, target: self, selector: #selector(updateClock), userInfo: nil, repeats: true)
}

func updateClock() {
self.timeLabel.text = dateFormatter.string(from: Date())
}

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

标签一直显示 00:00:00。任何人都可以给我一些建议吗?

最佳答案

您必须创建一个计时器(您已经完成)并安排它。这会将它添加到运行循环中,因此它会真正触发。

最简单的方法是使用 Timer.scheduledTimer(timeInterval:target:selector:userInfo:repeats:),它会创建和安排 Timer:

_ = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(updateClock),
userInfo: nil, repeats: true)

请注意,您可能还应该存储对 Timer 的弱引用,以便在您希望它停止触发时使其无效。

关于ios - Swift:为什么即使我使用计时器更改其文本属性,我的标签也不会更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43906423/

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