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. Это распространённый паттерн для асинхронных операций.