Sobes.tech
Back to questions
Junior — Middle
77

Возможно ли использование escaping closure с опциональными параметрами?

Companies where asked
Разумные решенияРазумные решения

Answer from AI

sobes.tech AI

Да, в Swift можно использовать escaping closure с опциональными параметрами. Опциональные параметры в замыкании позволяют передавать значения, которые могут быть nil. Это полезно, например, когда результат операции может отсутствовать или быть неуспешным.

Пример использования escaping closure с опциональным параметром:

func fetchData(completion: @escaping (String?) -> Void) {
    DispatchQueue.global().async {
        let data: String? = "Результат запроса" // или nil при ошибке
        completion(data)
    }
}

fetchData { result in
    if let data = result {
        print("Получены данные: \(data)")
    } else {
        print("Данные отсутствуют")
    }
}

Здесь completion — escaping closure, принимающий опциональный String. Это распространённый паттерн для асинхронных операций.