Middle — Middle+
Tətbiqdə əsas axından kənar qrafik interfeys ilə əməliyyatlar etmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-də, qrafik interfeys əməliyyatlarının (UI) yalnız əsas axında (main thread) həyata keçirilməsi lazımdır. Bu, UIKit-in çox-axın təhlükəsiz olmaması və fon axınlarından UI-də hər hansı dəyişikliklərin proqnozlaşdırılmayan davranışlara və ya tətbiqin çökməsinə səbəb ola biləcəyi ilə əlaqədardır.
Əgər fon tapşırığını yerinə yetirdikdən sonra interfeysi yeniləmək lazımdırsa, məsələn, DispatchQueue.main.async istifadə edərək əsas axına qayıtmaq lazımdır:
DispatchQueue.global().async {
// Fon tapşırığı
let data = fetchData()
DispatchQueue.main.async {
// UI-ni yeniləyin
self.label.text = data
}
}