如何强制UI显示在swift中更新?

时间:2017-06-17 14:18:26

标签: swift user-interface updates

我正在尝试让View Controller更新,而我在一个循环中调用一个执行大量Label更新的函数。但是直到我完成循环才会对屏幕进行更新。

有没有办法在继续之前强制进行UI更新?像强制数据写入磁盘的东西。

用于启动循环的按钮的代码如下:

        while (match.currentInnings == currentInnings)
        {
            playSingleBall()
            if (gameover == true)
            {
                return
            }
        }

在playSingleBall之后,我想在继续之前强制进行UI更新。

感谢。

1 个答案:

答案 0 :(得分:2)

在Dispatch Queue中调用它:

Swift 3.x

DispatchQueue.main.async {
    updateYourUI()
}

Swift 2.x

dispatch_async(dispatch_get_main_queue()) {
   updateYourUI()       
}