Sobes.tech
Junior — Middle

Hogyan küldesz tíz hálózati kérést egyszerre GCD használatával?

sobes.tech MI

Válasz az MI-től

Az iOS-on GCD (Grand Central Dispatch) használatával egyszerre tíz hálózati kérés küldéséhez létrehozhatsz egy DispatchGroup feladatcsoportot, és aszinkron kérdéseket adhatsz hozzá. Ez lehetővé teszi, hogy az összes kérés párhuzamosan induljon el, és nyomon követhesd azok befejezését.

Swift példában:

let dispatchGroup = DispatchGroup()

for i in 1...10 {
    dispatchGroup.enter()
    let url = URL(string: "https://example.com/request\(i)")!
    let task = URLSession.shared.dataTask(with: url) { data, response, error in
        // Válasz feldolgozása
        print("Kérés \(i) befejeződött")
        dispatchGroup.leave()
    }
    task.resume()
}

dispatchGroup.notify(queue: .main) {
    print("Minden kérés befejeződött")
}

Ez a megközelítés hatékonyan kezeli a párhuzamos feladatokat, és kódot futtat, miután minden kérés befejeződött.