unwrapping unwrap constructors ios arrays swift casting type-conversion

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



unwrap optional swift 4 (2)

Airspeed Velocity te dio la respuesta:

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

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

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

Esta forma de la declaración de mapa es un método en el tipo Array. Realiza el cierre que proporciona en cada elemento de la matriz y reúne los resultados de todas esas llamadas en una nueva matriz. Asigna una matriz a una matriz de resultados. El cierre que pase debe devolver un objeto del tipo de los objetos 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 las celdas de vista de tabla personalizadas, probablemente debería dejar la matriz como entradas 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 # 2:

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

arr.forEach { print($0) }

Tengo una matriz que se parece a esto:

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

Para imprimir esto, me gustaría convertirlo en:

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

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


Deberías usar

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

con el fin de presentar el valor en la etiqueta como una cadena.