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 zur Berechnung der Quadratsumme aller Elemente hinzufügen. Oder ein String-Array `[String]`, zu dem ich eine Methode zum Entfernen aller Duplikate hinzufügen möchte.
Ich habe versucht, ein extension für Array zu schreiben, aber es wird auf alle Arrays angewendet, nicht nur auf Int oder String:
```swift
extension Array {
func sumOfSquares() -> Int? {
// Hier kann ich nicht garantieren, dass Element ein Int ist
return nil
}
}
```
Der 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 nur für bestimmte Typen richtig erweitert? Muss ich generics mit Einschränkungen verwenden, oder gibt es einen anderen Ansatz? Vielen Dank im Voraus für eure Hilfe!
<<>>