Cierres como parámetros
Debido a que los cierres se pueden usar igual que las cadenas y los enteros, puedes pasarlos a funciones. La sintaxis para esto puede dañar tu cerebro al principio, así que vamos a ir despacio.
Primero, aquí está nuestro cierre básico driving()
de nuevo
let driving = { print("I'm driving in my car")}
Si quisiéramos pasar ese cierre a una función para que pueda ser ejecutado dentro de esa función, especificaríamos el tipo de parámetro como () -> Void
. Eso significa «no acepta parámetros, y devuelve Void
» – la forma de Swift de decir «nada».
Así que podemos escribir una función travel()
que acepte diferentes tipos de acciones de viaje, e imprima un mensaje antes y después:
func travel(action: () -> Void) { print("I'm getting ready to go.") action() print("I arrived!")}
Ahora podemos llamar a eso usando nuestro cierre driving
, así:
travel(action: driving)
SPONSORIZADO ¿Estás cansado de perder tiempo depurando tu aplicación Swift? El SDK de Instabug está aquí para ayudarte a minimizar el tiempo de depuración proporcionándote detalles completos del dispositivo, registros de red y pasos de reproducción con cada informe de error. Todos los datos se adjuntan automáticamente. Sólo hace falta una línea de código para configurarlo. Comienza tu prueba gratuita ahora y envía aplicaciones de calidad!
Pruébalo gratis
¡Patrocina Hacking with Swift y llega a la mayor comunidad Swift del mundo!