Ios 如何将Int数组转换为字符串?雨燕阵

Ios 如何将Int数组转换为字符串?雨燕阵,ios,arrays,swift,casting,type-conversion,Ios,Arrays,Swift,Casting,Type Conversion,我有一个如下所示的数组: var arr: [Int] = [1,2,3,4,5] 为了打印此文件,我想将其转换为: var newArr: [String?] = ["1","2","3","4","5"] 如何解决这个问题?空速给了你答案: var arr: [Int] = [1,2,3,4,5] var stringArray = arr.map { String($0) } 或者如

我有一个如下所示的数组:

var arr: [Int] = [1,2,3,4,5]
为了打印此文件,我想将其转换为:

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

如何解决这个问题?

空速给了你答案:

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

var stringArray = arr.map { String($0) }
或者如果您希望stringArray的类型为
[String?]

var stringArray = arr.map  { Optional(String($0)) }
这种形式的map语句是数组类型上的一种方法。它对数组中的每个元素执行您提供的闭包,并将所有这些调用的结果组合到一个新数组中。它将一个数组映射到一个结果数组。 传入的闭包应该返回输出数组中对象类型的对象

我们可以用更长的形式来写:

var stringArray = arr.map {
  (number: Int) -> String in
  return String(number)
}
编辑: 如果只需要将int值安装到自定义表视图单元格中,则可能应该将数组保留为int,只需将值安装到CellForRowatineXpath方法中的单元格中即可

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
}
编辑#2: 如果您只想打印数组,最好将其作为Int对象数组,只需打印它们:

arr.forEach { print($0) }
你应该使用

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

为了将标签中的值表示为字符串。

使用以下代码就地执行:

Array(0...100).map { String($0) }

更新:Swift 5

您可以使用以下代码执行此操作:

var arr: [Int] = [1,2,3,4,5]
let stringArray = arr.map(String.init)
输出:

["1", "2", "3", "4", "5"]

按如下方式声明整数数组:

let integerArray = [1 , 2 ,4 ,5]
print(integerArray.map { String($0) })
按如下方式打印您键入的数组:

let integerArray = [1 , 2 ,4 ,5]
print(integerArray.map { String($0) })

您可以尝试对任何数据类型(如Float、Double、Int8等)进行类型转换,这里map将从数组中获取每个元素,并更改为所述的数据类型,然后将其分配回数组。

arr.map{String($0)}
。如果您真的希望字符串是可选的,
arr.map{optional(String($0))}
我应该放一些类似于:var newArr=arr.map{optional(String($0))}的内容吗@空速。但是,重读一遍,你想要什么还不太清楚…。当你说“为了打印这个”的时候,你是什么意思?问题不是这个,不是吗