Ответ 1
Скорость воздушной скорости дала вам ответ:
var arr: [Int] = [1,2,3,4,5]
var stringArray = arr.map
{
String($0)
}
Или, если вы хотите, чтобы ваш stringArray имел тип [String?]
var stringArray = arr.map
{
Optional(String($0))
}
Эта форма оператора карты является методом типа Array. Он выполняет закрытие, которое вы предоставляете для каждого элемента массива, и собирает результаты всех этих вызовов в новый массив. Он отображает один массив в массив результатов. Закрытие, в которое вы проходите, должно возвращать объект типа объектов в вашем выходном массиве.
Мы могли бы написать его в более длинной форме:
var stringArray = arr.map(
{
(number: Int) -> String in
return String(number)
})
EDIT:
Если вам просто нужно установить свои значения int в пользовательские ячейки представления таблицы, вы, вероятно, должны оставить массив как int и просто установить значения в свои ячейки в вашем методе 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
}
Изменить # 2:
Если вы хотите напечатать массив, вам лучше оставить его как массив объектов Int и просто распечатать их:
arr.forEach { print($0) }