Sobes.tech
Middle — Middle+

Ilovada asosiy oqimdan tashqarida grafik interfeys bilan operatsiyalar qilish mumkinmi?

sobes.tech AI

AIdan javob

iOSда, график интерфейс операциялари (UI) фақат асосий тўғрида (main thread) амалга оширилиши керак. Бу UIKitнинг тўғри ишламаслиги ва фон тўғрида UI ўзгартиришларининг номаълум ҳолатларга ёки дастурнинг хато қилишига олиб келиши билан боғлиқ.

Агар фон вазифасини бажаргандан кейин интерфейсни янгилаш керак бўлса, қайтиш учун DispatchQueue.main.async каби усулдан фойдаланиб, асосий тўғрига қайтиш керак:

DispatchQueue.global().async {
    // Фон вазифаси
    let data = fetchData()
    
    DispatchQueue.main.async {
        // UI янгилаш
        self.label.text = data
    }
}