Swift – Array of Any a Array of Strings

¿Cómo puedo convertir una matriz declarada inicialmente como contenedor para cualquier object a una matriz de cadenas (o cualquier otro object)? Ejemplo:

var array: [Any] = [] . . . array = strings // strings is an array of Strings 

Recibo un error: "No se puede asignar el valor del tipo Cadenas para escribir Cualquiera"

¿Como lo puedo hacer?

No puede cambiar el tipo de una variable una vez que ha sido declarada, por lo que debe crear otra, por ejemplo, mapeando de forma segura Any elemento a String con flatMap :

 var oldArray: [Any] = [] var newArray: [String] = oldArray.flatMap { String($0) } 

Puedes usar esta gramática sináptica de azúcar. Todavía una línea de código 🙂

 var arr: [Any] = [] var strs = [String]() arr = strs.map {$0 as! [String]}