0

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

   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 的安全方法是什么?

4

1 回答 1

1

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

将方向作为参数添加到此函数。

于 2018-11-11T13:33:21.990 回答