Sobes.tech
Junior — Middle

Hogyan valósítható meg három különböző forrásból vagy lekérdezésből származó adatok egyidejű megjelenítése egy felületen vagy alkalmazásban?

sobes.tech MI

Válasz az MI-től

Egy iOS alkalmazásban három különböző forrásból származó adatokat egyszerre megjeleníteni gyakran aszinkron eredményegyesítéses megközelítést alkalmaznak. Például használhatjuk a DispatchGroup-ot, hogy nyomon kövessük mindhárom kérés befejezését, majd frissítsük a felhasználói felületet:

let group = DispatchGroup()
var data1: DataType1?
var data2: DataType2?
var data3: DataType3?

group.enter()
fetchDataFromSource1 { result in
    data1 = result
    group.leave()
}

group.enter()
fetchDataFromSource2 { result in
    data2 = result
    group.leave()
}

group.enter()
fetchDataFromSource3 { result in
    data3 = result
    group.leave()
}

group.notify(queue: .main) {
    // Minden adat megérkezett, frissítjük a UI-t
    updateUI(data1: data1, data2: data2, data3: data3)
}

Szintén használható a Combine vagy az async/await (az újabb Swift verziókban) a több aszinkron adatfolyam könnyebb kezelésére és azok összefűzésére.