Cierres como parámetros

Nov 4, 2021
admin

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!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.