Sobes.tech
Junior — Middle

Կարող է օգտվողի ինտերֆեյսի հետ գործառույթներ կատարել ֆոնային հոսքից?

sobes.tech AI

Պատասխան AI-ից

iOS-ում օգտվողի միջերեսի գործողությունները ուղղակիորեն ֆոնային հոսքից կատարել հնարավոր չէ: Բոլոր UI-ների թարմացումները պետք է տեղի ունենան գլխավոր (main) հոսքում, հակառակ դեպքում դա կարող է հանգեցնել կանխատեսելի չլինող վարքագծի կամ հավելվածի խափանման:

Եթե անհրաժեշտ է թարմացնել UI-ն ֆոնային հոսքից, պետք է անցնել գլխավոր հոսք, օրինակ՝ օգտագործելով DispatchQueue.main.async:

DispatchQueue.global().async {
    // Ֆոնային աշխատանք
    
    DispatchQueue.main.async {
        // UI-ի թարմացում
        self.label.text = "Թարմացվել է"
    }
}