如何有效地将Range Int Array转换为Swift中的String Array?

时间:2018-03-02 12:57:49

标签: ios swift string int uipickerview

我从1-100创建了一个范围:

let array = [Int](1...10) 

现在我如何将其转换为String数组,因为我需要UIPickerView

提前致谢。

4 个答案:

答案 0 :(得分:0)

 var arr = [1,2,3]

 let strArr = arr.map{String($0)}

OR  在选择器中,您可以像这样返回组件标题

 func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return  "\(arr[row])"
 }

答案 1 :(得分:0)

您可以直接map Int范围到String数组

let stringArray = (1...10).map(String.init)

答案 2 :(得分:0)

如果它只是一串字符串“1”,“2”,..你可以使用map来获取它:

let model = array.map { "\($0)" }

如果您正在寻找拼写出来的数字,例如“one”,“two”,......,请使用数字格式化程序:

let numberFormatter: NumberFormatter = NumberFormatter()
numberFormatter.numberStyle = NumberFormatter.Style.spellOut
let model = array.map { numberFormatter.string(from: NSNumber(value: $0)) ?? "" }

答案 3 :(得分:0)

嗯,你可以这样做:

let formattedArray = ([0,1,1,0].map{String($0)}).joined(separator: ",")