У меня есть функция, которая должна вызываться из неосновного потока. В этой теме я пытаюсь определить ориентацию строки состояния следующим образом:
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?