Sobes.tech
Junior — Middle

Как изпращаш десет мрежови заявки едновременно, използвайки GCD?

sobes.tech AI

Отговор от AI

За изпращане на десет мрежови заявки едновременно с GCD (Grand Central Dispatch) в iOS, можете да създадете група задачи DispatchGroup и да добавите към нея асинхронни заявки. Това ще позволи да стартирате всички заявки паралелно и да следите тяхното завършване.

Пример на Swift:

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
        // Обработка на отговора
        print("Заявка \(i) завърши")
        dispatchGroup.leave()
    }
    task.resume()
}

dispatchGroup.notify(queue: .main) {
    print("Всички заявки са завършени")
}

Този подход позволява ефективно управление на паралелните задачи и изпълнение на код след завършването на всички заявки.