iOS 13:违反线程:预期主线程 [英] iOS 13: threading violation: expected the main thread
本文介绍了iOS 13:违反线程:预期主线程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试仅为 iOS 13 用户隐藏视图控制器的导航栏时,该应用程序已崩溃.
The app is being crashed when trying to hide the navigation bar for a viewcontroller only for iOS 13 users.
- 我在Fabric的Crashlytics上崩溃,标题如下,
致命异常:NSInternalInconsistencyException
Fatal Exception: NSInternalInconsistencyException
线程违规:应该是主线程
threading violation: expected the main thread
- 该应用程序在此viewWillAppear方法行上崩溃了,
self.navigationController?.isNavigationBarHidden = true
- 要隐藏UIViewController的viewWillAppear方法上的导航栏,我正在使用以下代码,
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
super.viewWillAppear(animated)
}
- 要在UIViewController的viewWillDisappear方法上显示导航栏,我正在使用以下代码,
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = false
super.viewWillDisappear(animated)
}
推荐答案
执行以下操作
DispatchQueue.main.async {
self.navigationController?.isNavigationBarHidden = false
}
这篇关于iOS 13:违反线程:预期主线程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文