从函数Xcode / Swift更改label.text

时间:2014-11-09 17:04:43

标签: xcode swift ios8 label selector

我有一个定时器,它调用一个选择器。 直接从该函数,我想更改标签的文本。

@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”,但标签仍未更新! 谢谢你的帮助!

1 个答案:

答案 0 :(得分:6)

UI更新必须始终在主线程中完成,因此请尝试以下操作:

func update () {
    DispatchQueue.main.async {
        self.myLabel.text = "MyNewText"
    }
}