¿Cómo clonar la matriz genérica Swift?

Necesito copyr a background una matriz genérica de Swift . Puedo hacerlo uno por uno en un bucle for, pero podría haber una solución más compacta.

Prueba esto :

 var myArray = [Double](count: 5, repeatedValue: 1.0) NSLog("%@", myArray) var copiedArray = myArray NSLog("%@", copiedArray) 

Para la copy profunda, para los objects normales, lo que se puede hacer es implementar un protocolo que admita la copy y hacer que la class de object implemente este protocolo así:

 protocol Copying { init(original: Self) } extension Copying { func copy() -> Self { return Self.init(original: self) } } 

Y luego la extensión Array para la clonación:

 extension Array where Element: Copying { func clone() -> Array { var copiedArray = Array<Element>() for element in self { copiedArray.append(element.copy()) } return copiedArray } } 

y eso es más o less, para ver el código y una muestra de verificación de esta esencia