SUPRESS: @discardableResult en Swift

Deshazte de esa molesta advertencia

Foto de dylan nolte en Unsplash

Dificultad: principiante | Fácil | Normal | Desafiante

Es una de esas cosas. Swift le da una advertencia y puede cambiar un fragmento de código para suprimir la advertencia.

Lo cambias y la vida sigue.

Entonces descubres que un atributo puede ayudarte.

Eso es un bingo.

Prerrequisitos:

  • Ser capaz de producir un "¡Hola, mundo!" Aplicación iOS (guía AQUÍ ) O Codificación en Swift Playgrounds (guía AQUÍ )

atributo: una forma de proporcionar información sobre una declaración de tipo

El caso de @discardableResult

En mi publicación de Medium sobre la protección de datos en el llavero , tuve una función bastante agradable que devuelve el estado de OS después de que se completa la operación de guardado.

Aquí está la firma de la función:

func save(key: String, data: Data) -> OSStatus

¿La advertencia completa? La inicialización del "estado" del valor inmutable nunca se utilizó; considere reemplazarlo con una asignación a '_' o eliminarlo

Entonces, como solución para eliminar esto, uso el guión bajo en Swift.

_ = kc.save(key: "MyString", data: data)

En realidad no, y elimina cualquier advertencia. Agradable. Pero hay otra forma de evitar esto. Una mejor manera,

@discardableResult

En la función (y notablemente no en ningún protocolo asociado) attributese agrega. Para hacer esto un poco más claro, usaré una esencia para la función modificada

Que luego podemos llamar, pero crucialmente podemos (bueno) descartar el resultado .

esto significa que podemos llamar con

Sin errores: solo una vida fácil.

Ah, ¿y el cambio a mi código real? Vea el siguiente gif animado:

¿Qué tan fácil fue eso?

Yo diría que es demasiado fácil.

Ahora, ¿por qué no estaba haciendo eso antes?

Conclusión:

Si está creando una API pública donde no es probable que se use el resultado (al menos la mayor parte del tiempo), attribute@discardableResult ofrece una excelente manera de evitar que su cliente use _ para silenciar esa advertencia molesta.

No cuesta nada y hace que su código sea más fácil de leer.

Por supuesto, si espera que el cliente use el resultado, de todas formas no golpee @discardableResult.

Siempre codificamos con la gorra de pensar puesta, dijo alguien que cita mal a Edward De Bono. Entonces eso no será un problema, y ​​@discardableResult es genial attributepara tener en nuestro arsenal de codificación.

Amplíe su conocimiento

  • Apple tiene documentación sobre atributos AQUÍ

¿Alguna pregunta? Puedes ponerte en contacto conmigo AQUÍ

Suggested posts

“Esa islita lo cambia todo”

Cómo diseñamos Lyft Live Activities para mejorar la experiencia del pasajero

“Esa islita lo cambia todo”

Un cambio de juego para los viajes compartidos De todas las cosas que hacemos en Lyft, coreografiar las recolecciones entre pasajeros y conductores es una de las más complejas y trascendentales. Lograr esta coreografía depende de que Lyft haga muchas cosas bien, pero simplemente mantener a los pasajeros al día es esencial.

Mis recursos de codificación más utilizados

Mis recursos de codificación más utilizados

Esta semana, recibí un correo electrónico de un miembro de la lista de correo electrónico diaria. Querían saber: ¿Qué recursos visita diariamente, semanalmente y mensualmente? ¡Gran pregunta! Estoy feliz de intentar compartir algunas ideas sobre mi flujo de trabajo y los principales recursos que uso.

Related posts

Twitter de televisión en red

Twitter de televisión en red

Lo que es viejo ahora es nuevo otra vez y lo que solía ser algo reluciente ahora se siente aburrido. No me refiero a que los jeans JNCO regresen entre los chicos geniales del centro de la ciudad junto con otras modas de fines de la década de 1990.

¿Es el arte alguna vez apolítico?

¿Es el arte alguna vez apolítico?

Ayer cerramos la puerta del Festival de la Canción de Eurovisión de este año con una gran final brillante y caótica en la que la cantante sueca Loreen se llevó a casa el trofeo, convirtiéndose en la primera mujer en ganar dos veces y devolviendo la corona a Suecia 50 años después de que ABBA ganara la competencia. con “Waterloo”. Se convirtieron en uno de los actos más grandes en el canon de la música pop.

Creación de un entorno de trabajo seguro

Creación de un entorno de trabajo seguro

“Él me protegerá cuando esté en peligro. Me esconderá en su tienda.

"La fosa de las Marianas revelada: revelando las aterradoras verdades ocultas del abismo"

"La fosa de las Marianas revelada: revelando las aterradoras verdades ocultas del abismo"

Introducción: Bienvenidos, valientes lectores, a un viaje que nos llevará a las profundidades más oscuras de nuestro planeta. En este blog, profundizamos en el enigmático mundo de la Fosa de las Marianas, descubriendo sus secretos ocultos y descubriendo las verdades escalofriantes que se encuentran debajo de su superficie.