Avatar ·

¿Cómo extender la funcionalidad de los arrays tipados (Array<T>) en Swift?

¡Hola a todos! Llevo unos meses escribiendo en Swift y me encontré con una situación en la que necesito agregar mis propios métodos a arrays de un tipo específico. Por ejemplo, tengo un array de números `[Int]` y quiero agregar un método para calcular la suma de los cuadrados de todos los elementos. O un array de strings `[String]`, al que quiero agregar un método para eliminar todos los duplicados. Intenté escribir una extension para Array, pero se aplica a todos los arrays, no solo a Int o String: ```swift extension Array { func sumOfSquares() -> Int? { // Aquí no puedo garantizar que Element sea Int return nil } } ``` El compilador se queja de que no se puede realizar la operación `*` sobre Element. Intenté usar restricciones where, pero no entendí completamente la sintaxis. ¿Podrían indicarme cómo extender Array correctamente solo para tipos específicos? ¿Necesito usar generics con restricciones, o hay otro enfoque? ¡Gracias de antemano por la ayuda! <<>>

Uso de extensiones con restricciones where