Есть массив, условно говоря
let number = [3, 6, 9]
Нужно его сделать строковым, String. Как это сделать? Что-то гугл не выдает конкретики
Есть массив, условно говоря
let number = [3, 6, 9]
Нужно его сделать строковым, String. Как это сделать? Что-то гугл не выдает конкретики
ок, спасибо, разобрался. Вот готовый вариант:
let number = [3, 6, 9]
var stringArray = number.map
{
String($0)
}
print("My Array = ", stringArray)
Работает как и должно, да. Так можно приводить к стрингу, а еще можно так
let strings = number.map { "\($0)" }
Но у вас стилистика Си-шная, когда фигурная скобка начинается с новой строки. На свифте так не пишут - если выражение компактное, как в вашем случае:
{ /*выражение*/ }
а не:
{
//выражение
}
Если не компактное (пускай, для примера, будет тот же map):
let strings = numbers.map {
// длинное выражение
// на несколько строк
}
Спасибо за подсказку. Взял в свою коллекцию)) Погуглил map, да, этот метод проще. Хотя вот не понял, как этот метод понимает, что надо преобразовать именно к Sting? В предыдущем варианте решения тип значений массива задавался инициализатором, а здесь вроде нет никаких указателей.
Допустим у нас есть какое-нибудь значение какого-нибудь типа
let someName: someType = someValue
можно преобразовать его в стринг таким способом
let string = "\(someName)"
у некоторых типов есть поле description, которое возвращает стринговое значение этого типа
let string = someName.description
так же можно инициализировать стринг, передававя в параметры инициализатора некоторые типа (int, к примеру)
точно, не заметил кавычек)) сэнкс
а вот последнюю фразу можно немного пояснить на примере?
так же можно инициализировать стриг, передавая в параметры инициализатора некоторые типа (int, к примеру)
и заодно сразу такой вопрос - как определяется, где сабскрипт, а где поле. Например, map выше это вроде как сабскрипт, а description как поле, но синтаксис у них одинаковый, через точку
let intValue: Int = 10
let stringValue = String(intValue)
let floatValue: Float = 2.5
let stringValue = String(floatValue)
...
Вы о чем? Сабскрипт - это индекс, поле - это переменная класса. map - это метод (или функция), но никак не сабскрипт.
ясно, спасибо. Вопрос конечно простой, но пока заучится эта терминология))
И да, насчет сабскриптов, полей и методов та же истории, еще не до конца отложилось.
Но пока в принципе достаточно, есть три варианта решения для преобразования Int в String