SUPRESS: @discardableResult dans Swift

Débarrassez-vous de cet avertissement ennuyeux

Photo de Dylan Nolte sur Unsplash

Difficulté: Débutant | Facile | Normal | Difficile

C'est une de ces choses. Swift vous donne un avertissement et vous pouvez modifier un morceau de code pour supprimer l'avertissement.

Vous le changez et la vie continue.

Ensuite, vous découvrez qu'un attribut peut vous aider.

C'est un bingo.

Conditions préalables:

  • Être capable de produire un "Hello, World!" Application iOS (guide ICI ) OU Codage dans Swift Playgrounds (guide ICI )

attribut: moyen de fournir des informations sur une déclaration de type

Le cas du @discardableResult

Dans mon article Medium sur la sécurisation des données dans le trousseau, j'avais une fonction plutôt intéressante qui renvoie l'état OSS une fois l'opération de sauvegarde terminée.

Voici la signature de la fonction:

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

L'avertissement dans son intégralité? L'initialisation de la valeur immuable «status» n'a jamais été utilisée; envisagez de remplacer par une affectation à «_» ou de le supprimer

Donc, comme solution pour supprimer cela, j'utilise le trait de soulignement dans Swift.

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

Pas vraiment, et cela supprime tout avertissement. Agréable. Mais il y a un autre moyen de contourner cela. Une meilleure façon,

@discardableResult

Dans la fonction (et notamment dans aucun protocole associé) le attributeest ajouté. Pour rendre cela un peu plus clair, j'utiliserai l'essentiel de la fonction modifiée

Ce que nous pouvons alors appeler, mais surtout, nous pouvons (bien) rejeter le résultat .

cela signifie que nous pouvons appeler avec

Aucune erreur: juste une vie facile.

Oh, et le changement de mon code actuel? Voir le gif animé suivant:

Est-ce que c'était facile?

Je dirais trop facile.

Maintenant, pourquoi n'ai-je pas fait ça avant ??

Conclusion:

Si vous créez une API publique où le résultat n'est pas susceptible d'être utilisé (du moins la plupart du temps), attribute@discardableResult offre un excellent moyen d'éviter que votre client utilise _ pour faire taire cet avertissement ennuyeux.

Cela ne coûte rien et rend votre code plus facile à lire.

Bien sûr, si vous vous attendez à ce que le client utilise le résultat, ne vous contentez pas de frapper @discardableResult de toute façon.

Nous codons toujours avec notre limite de réflexion, a déclaré quelqu'un qui cite mal Edward De Bono. Ce ne sera donc pas un problème, et @discardableResult est un excellent choix attributedans notre arsenal de codage.

Élargissez vos connaissances

  • Apple a une documentation sur les attributs ICI

Des questions? Vous pouvez me contacter ICI

Suggested posts

"Cette petite île change tout"

Comment nous avons conçu les activités en direct Lyft pour améliorer l'expérience des passagers

"Cette petite île change tout"

Un changeur de jeu pour le covoiturage De toutes les choses que nous faisons chez Lyft, la chorégraphie des ramassages entre les passagers et les chauffeurs est l'une des plus complexes et des plus conséquentes. Pour réussir cette chorégraphie, Lyft doit bien faire beaucoup de choses, mais il est essentiel de simplement tenir les coureurs au courant.

Mes ressources de codage les plus utilisées

Mes ressources de codage les plus utilisées

Cette semaine, j'ai reçu un e-mail d'un membre de la liste de diffusion quotidienne. Ils voulaient savoir : Quelles ressources consultez-vous quotidiennement, hebdomadairement et mensuellement ? Grande question ! Je suis heureux d'essayer de partager quelques idées sur mon flux de travail et les principales ressources que j'utilise.

Related posts

Réseau TV Twitter

Réseau TV Twitter

Ce qui est vieux est à nouveau nouveau et ce qui était autrefois la chose brillante et scintillante semble maintenant terne. Je ne parle pas du retour des jeans JNCO parmi les enfants cool du centre-ville avec d'autres modes de la fin des années 1990.

La persécution des chrétiens : le crime de haine dont nous ne parlons pas

Oubliez l'islamophobie : les chrétiens (et les juifs) sont les principales victimes des crimes de haine religieuse.

La persécution des chrétiens : le crime de haine dont nous ne parlons pas

Tout esprit rationnel sait que les milieux politiques et médiatiques sont dominés par la gauche, voire l'extrême gauche, un état de fait qui crée un déséquilibre dans le discours politique. Dans le domaine religieux, ce déséquilibre est bien visible : les journaux et les réseaux de gauche ne se précipitent pas pour défendre la foi chrétienne.

Plus de mots de passe - comment les clés d'accès remplaceront votre mot de passe

Plus de mots de passe - comment les clés d'accès remplaceront votre mot de passe

Pour éviter toute ambiguïté, les termes suivants seront utilisés ; Authentificateur ; Le téléphone mobile utilisé pour effectuer la connexion au site Web ; Le site Web ou l'application que l'utilisateur utilise pour effectuer la demande de connexion au service ; Le fournisseur fournissant le service donné, par exemple

Le premier livre d'un enfant sur la défonce

Le premier livre d'un enfant sur la défonce

(Attention - Ceci est une satire, destinée à être joyeusement subversive - Certainement pas pour les enfants) Vous avez vu votre mère et votre père se cacher dans la cuisine et fumer ces cigarettes malodorantes. Ils vous disent.