¿Cómo puedo convertir una matriz Int en una cadena? matriz en Swift

Tengo una matriz que se parece a esto:

var arr: [Int] = [1,2,3,4,5] 

Para imprimir esto, me gustaría convertir esto a:

 var newArr: [String?] = ["1","2","3","4","5"] 

¡Por favor, ayúdame! Gracias por adelantado.

Airspeed Velocity le dio la respuesta:

 var arr: [Int] = [1,2,3,4,5] var stringArray = arr.map { String($0) } 

O si desea que su stringArray sea del tipo [String?]

 var stringArray = arr.map { Optional(String($0)) } 

Esta forma de la statement del map es un método en el tipo de matriz. Realiza el cierre que proporciona en cada elemento de la matriz y ensambla los resultados de todas esas llamadas en una nueva matriz. Mapea una matriz en una matriz de resultados. El cierre que pase debe devolver un object del tipo de los objects en su matriz de salida.

Podríamos escribirlo en forma más larga:

 var stringArray = arr.map( { (number: Int) -> String in return String(number) }) 

EDITAR:

Si solo necesita instalar sus valores int en celdas de vista de tabla personalizadas, probablemente debería dejar la matriz como ints y simplemente instalar los valores en sus celdas en su método cellForRowAtIndexPath.

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! MyCustomCellType cell.textLabel?.text = "\(arr[indexPath.row])" return cell } 

Edición n. ° 2:

Si todo lo que quieres es imprimir la matriz, sería mejor dejarla como una matriz de objects Int, y simplemente imprimirlos:

 arr.forEach { print($0) } 

Deberías usar

  cell.textLabel?.text = "\(arr[indexPath.row])" 

para presentar el valor en la label como una cadena.