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.