代码之家  ›  专栏  ›  技术社区  ›  Deepak Sharma

从其他线程调用UIKit方法

  •  0
  • Deepak Sharma  · 技术社区  · 6 年前

    我有一个必须从非主线程调用的函数。在这个线程中,我试图确定状态栏的方向,如下所示:

       let currentInterfaceOrientation = UIApplication.shared.statusBarOrientation
    

    但我显然收到了这样的运行时警告。

        UIApplication.statusBarOrientation() must be used from main thread only
    

    我的问题是,如果需要,如何确定二级线程上状态栏的方向?使用DispatchQueue.main.sync这是正确的方法,但由于潜在的僵局,风险很大。

       var currentInterfaceOrientation = UIInterfaceOrientation.landscapeLeft
    
       DispatchQueue.main.sync {
                    currentInterfaceOrientation = UIApplication.shared.statusBarOrientation
                }
    

    使用Swift的安全方法是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   messeb    6 年前

    我有一个必须从非主线程调用的函数。