iOS 13:线程冲突:预期主线程

Nik*_*unj 11 multithreading uinavigationbar swift ios13

尝试为iOS 13用户隐藏视图控制器的导航栏时,应用程序崩溃。

  • 我在 Crashlytics of Fabric 上崩溃了,标题如下,

致命异常:NSInternalInconsistencyException

线程违规:预期主线程

  • 应用程序在这一行 viewWillAppear 方法上崩溃了,
    self.navigationController?.isNavigationBarHidden = true
Run Code Online (Sandbox Code Playgroud)
  • 要隐藏 UIViewController 的 viewWillAppear 方法上的导航栏,我使用以下代码,
    override func viewWillAppear(_ animated: Bool) {
        self.navigationController?.isNavigationBarHidden = true
        super.viewWillAppear(animated)
    }
Run Code Online (Sandbox Code Playgroud)
  • 为了在 UIViewController 的 viewWillDisappear 方法上显示导航栏,我使用了下面的代码,
    override func viewWillDisappear(_ animated: Bool) {
        self.navigationController?.isNavigationBarHidden = false
        super.viewWillDisappear(animated)
    }
Run Code Online (Sandbox Code Playgroud)

Sae*_*eed 13

做以下动作

  DispatchQueue.main.async {
    self.navigationController?.isNavigationBarHidden = false
  }
Run Code Online (Sandbox Code Playgroud)