Avatar ·

Comment étendre la fonctionnalité des tableaux typés (Array<T>) en Swift ?

Bonjour à tous ! J'écris en Swift depuis plusieurs mois et j'ai rencontré une situation où je dois ajouter mes propres méthodes aux tableaux d'un type spécifique. Par exemple, j'ai un tableau de nombres `[Int]` et je veux ajouter une méthode pour calculer la somme des carrés de tous les éléments. Ou un tableau de chaînes `[String]` auquel je veux ajouter une méthode pour supprimer tous les doublons. J'ai essayé d'écrire une extension pour Array, mais elle s'applique à tous les tableaux, pas seulement à Int ou String : ```swift extension Array { func sumOfSquares() -> Int? { // Ici, je ne peux pas garantir que Element est un Int return nil } } ``` Le compilateur se plaint qu'on ne peut pas effectuer l'opération `*` sur Element. J'ai essayé d'utiliser des contraintes where, mais je n'ai pas complètement compris la syntaxe. Dites-moi comment étendre correctement A