【问题标题】:Change label.text from function Xcode/Swift从函数 Xcode/Swift 更改 label.text
【发布时间】:2014-11-09 17:04:43
【问题描述】:

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

@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”,但标签仍然没有更新! 感谢您的帮助!

【问题讨论】:

    标签: xcode swift ios8 label selector


    【解决方案1】:

    UI 更新必须始终在主线程中完成,所以试试这个:

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

    【讨论】:

    • 但是如果你在主队列/线程上安排定时器,那么回调也将在主队列/线程上被调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多