Мне кажется, я понимаю, что делает очередь отправки, когда я ее вызываю, но я не уверен, когда именно мне следует ее использовать, и в чем ее преимущества, когда я ее использую.
Если мое пониманиеправильно, DispatchQueue.main.async {// code} будет планировать код, содержащийся в замыкании, для выполнения в основной очереди отправки в асинхронном режиме.Основная очередь имеет наивысший приоритет и обычно зарезервирована для обновления пользовательского интерфейса, чтобы максимизировать скорость отклика приложения.
В чем я смущен: в чем разница между обновлением элементов пользовательского интерфейса в закрытии очереди отправки по сравнению с простой записьюкод за пределами замыкания в том же месте?Быстрее ли выполнить код в теле представления загрузил метод, а не отправить его в очередь отправки?Если нет, то почему?
Пример кода:
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
updateUI()
}
}
В сравнении:
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
updateUI()
}
}
}
Какой из них будет обновлять пользовательский интерфейс быстрее?