Junior — Middle
Wie kann man die Ausführung eines bestimmten Codeblocks sicherstellen, nachdem man Antworten von mehreren HTTP-Anfragen erhalten hat?
sobes.tech KI
Antwort von AI
In iOS, um eine Gruppe von HTTP-Anfragen nach Abschluss mehrerer Anfragen auszuführen, ist es praktisch, DispatchGroup zu verwenden. Es ermöglicht die Überwachung einer Gruppe asynchroner Aufgaben und die Ausführung von Code, wenn alle abgeschlossen sind.
Beispiel in Swift:
let dispatchGroup = DispatchGroup()
var results: [Data] = []
for url in urls {
dispatchGroup.enter()
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
results.append(data)
}
dispatchGroup.leave()
}.resume()
}
dispatchGroup.notify(queue: .main) {
// Dieser Block wird nach Abschluss aller Anfragen ausgeführt
print("Alle Anfragen sind abgeschlossen")
}
Auf diese Weise hilft DispatchGroup, mehrere asynchrone Operationen zu synchronisieren und Code nach deren Abschluss auszuführen.