Middle — Middle+
Могу ли обављати операције са графичким интерфејсом ван главног тока у апликацији?
sobes.tech АИ
Одговор од АИ
У iOS, све операције са графичким интерфејсом (UI) треба извршавати искључиво у главном току (main thread). Ово је због тога што UIKit није безбедан за тхредове, и било какве промене UI-а из позадинских тхредова могу довести до непредвидивог понашања или падова апликације.
Ако је потребно ажурирати интерфејс након извршавања позадинског задатка, треба се вратити на главни тред, на пример, коришћењем DispatchQueue.main.async:
DispatchQueue.global().async {
// Позадински задатак
let data = fetchData()
DispatchQueue.main.async {
// Ажурирање UI
self.label.text = data
}
}