Junior — Middle
Какви стъпки трябва да се предприемат, за да се използва атрибутът @escaping с затваряне в дефиницията на функция?
sobes.tech AI
Отговор от AI
В Swift атрибутът @escaping се използва за затваряния (closures), които се съхраняват и се извикват след завършването на функцията, в която са предадени. За да използвате @escaping, трябва:
- В декларацията на функцията, преди параметъра на затварянето, да посочите
@escaping. - Това означава, че затварянето може да бъде извикано по-късно, например асинхронно.
Пример:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Изпълняваме асинхронна задача
completion() // извикваме затварянето по-късно
}
}
Без @escaping, компилаторът няма да позволи да се запази затварянето за извикване след излизане от функцията.