我正在从一个故事板到另一个故事板执行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之间的第二个,而它应该是瞬时的。
有任何想法要解决它吗?