Avatar ·

Wie erweitert man die Funktionalität von typisierten Arrays (Array<T>) in Swift?

Hallo zusammen! Ich schreibe seit einigen Monaten in Swift und bin auf eine Situation gestoßen, in der ich eigene Methoden zu Arrays eines bestimmten Typs hinzufügen muss. Zum Beispiel habe ich ein Zahlen-Array `[Int]` und möchte eine Methode hinzufügen, um die Summe der Quadrate aller Elemente zu berechnen. Oder ein String-Array `[String]`, zu dem ich eine Methode hinzufügen möchte, um alle Duplikate zu entfernen.\n\nIch habe versucht, ein extension für Array zu schreiben, aber es wird auf alle Arrays angewendet, nicht nur auf Int oder String:\n\n```swift\nextension Array {\n func sumOfSquares() -> Int? {\n // Hier kann ich nicht garantieren, dass Element ein Int ist\n return nil\n }\n}\n```\n\nDer Compiler beschwert sich, dass die Operation `*` auf Element nicht ausgeführt werden kann. Ich habe versucht, where-Einschränkungen zu verwenden, aber die Syntax nicht vollständig verstanden. Könnt ihr mir sagen, wie man Array richtig erweitert?