Каким образом можно обеспечить выполнение определенного блока кода после получения ответов от нескольких HTTP-запросов?

В iOS для выполнения блока кода после завершения нескольких HTTP-запросов удобно использовать DispatchGroup. Он позволяет отслеживать группу асинхронных задач и выполнить код, когда все они завершатся.

Короткий ответ

Что ответить на собеседовании

В iOS для выполнения блока кода после завершения нескольких HTTP-запросов удобно использовать DispatchGroup. Он позволяет отслеживать группу асинхронных задач и выполнить код, когда все они завершатся.

Подробный разбор

Ответ с пояснениями

В iOS для выполнения блока кода после завершения нескольких HTTP-запросов удобно использовать DispatchGroup. Он позволяет отслеживать группу асинхронных задач и выполнить код, когда все они завершатся.

Пример на 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) {
    // Этот блок выполнится после завершения всех запросов
    print("Все запросы завершены, обработка результатов")
}

Таким образом, DispatchGroup помогает синхронизировать несколько асинхронных операций и выполнить код после их завершения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее