正在主线程上执行长时间运行的操作。

时间:2017-08-10 07:21:19

标签: ios multithreading

我正在从一个故事板到另一个故事板执行segue(从一个视图控制器到另一个故事板中的TabBarController)。我收到了这个警告:

 Warning: A long-running operation is being executed on the main thread.
 Break on warnBlockingOperationOnMainThread() to debug.

我知道所有UI更新都在主线程上完成。这是我的代码:

 DispatchQueue.main.async {
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let vc = storyboard.instantiateViewController(withIdentifier: "HomeTabViewController") as! HomeTabViewController
        self.navigationController?.pushViewController(vc, animated: true)
    }

据我所知,DispathQueue.main.async {}是获取主线程并在iOS中执行UI内容的方法,但我仍然收到此警告,并且(更重要的是),应用程序可能会暂停0.5到1在按下segue按钮和实际运行segue之间的第二个,而它应该是瞬时的。

有任何想法要解决它吗?

0 个答案:

没有答案