Junior — Middle
Opsiyonel parametrelerle escape closure kullanmak mümkün mü?
sobes.tech yapay zeka
AI'dan gelen yanıt
Да, в 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. Это распространённый паттерн для асинхронных операций.