我有一个定时器,它调用一个选择器。 直接从该函数,我想更改标签的文本。
@IBOutlet weak var myLabel: UILabel!
override func viewDidLoad() {
var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
}
func update () {
self.myLabel.text = "MyNewText"
}
Xcode告诉我使用“self”,但标签仍未更新! 谢谢你的帮助!
答案 0 :(得分:6)
UI更新必须始终在主线程中完成,因此请尝试以下操作:
func update () {
DispatchQueue.main.async {
self.myLabel.text = "MyNewText"
}
}