Sobes.tech
Назад к вопросам
Junior — Middle
72

Можешь назвать основные типы замыканий, используемых в программировании?

Компании, где спрашивали
Альфа-БанкАльфа-Банк

Ответ от нейросети

sobes.tech AI

В iOS-программировании (Swift/Objective-C) замыкания (closures) — это блоки кода, которые можно передавать и использовать как объекты.

Основные типы замыканий:

  • Escaping closures — замыкания, которые могут быть вызваны после выхода из функции, в которую они были переданы. Например, асинхронные операции.

  • Non-escaping closures — замыкания, которые вызываются внутри функции и не сохраняются для последующего использования.

  • Autoclosures — замыкания, которые автоматически создаются компилятором для отложенного вычисления выражений, часто используются для оптимизации.

Пример escaping closure в Swift:

func fetchData(completion: @escaping (String) -> Void) {
    DispatchQueue.global().async {
        // имитация загрузки данных
        let data = "Данные загружены"
        completion(data)
    }
}

fetchData { result in
    print(result)
}

Здесь completion — escaping closure, так как вызывается асинхронно после выхода из функции.