Ripple motion - application mobile - développement mobile - nantes

TechTalk#6 – Swifty Enums

TECH TALK #6

 

Swifty Enums

 

Les enums Swift ne sont pas des enums Java. Elles s’apparentent plutôt aux unions C. C’est une composition de type exprimant un OR entre types, le type Swift struct exprimant lui un AND entre types. Par exemple, une enum est utile dans la gestion du retour d’une requête réseau : soit c’est un succès et celui-ci s’accompagne d’un type Data, soit c’est un échec et ce retour s’accompagne d’un type Error.

 

Une enum peut représenter un résultat de serveur mais dans ce cas il ne faut pas oublier de gérer le cas « Other » (exemple : image par défaut), pour le cas où le serveur ajouterait un nouveau type : l’application ne doit pas crasher et doit gérer ce type inconnu pour elle. Une future mise à jour de l’application pourra prendre en compte ce nouveau type.

 

Par ailleurs, il est intéressant de définir le mapping case <=> rawValue en dehors de la définition de l’enum car le développeur qui utilise l’enum n’a pas besoin de savoir comment est fait le mapping. Il utilise simplement l’enum.

 

Les case enums ne doivent pas être utilisées pour définir des jeux de constantes. Les structs avec un constructeur privé et des « static let » constantes sont plus appropriées pour cela.

 

Pensez à utiliser les extensions sur les enums pour « ajouter » des éléments UI qui seront fonctions des case de l’enum. Exemple : une image différente en fonction du cas.

 

Tech Talk animé par :

Ripple Motion : Olivier Tabone - CTO et directeur technique

OLIVIER TABONE

Co fondateur/Directeur

 

N’hésitez pas à télécharger le TechTalk #6 – Swifty Enums