В Swift 2.2 возможно следующее:
let m = "alpha"
for i in m.startIndex..<m.endIndex {
print(m[i])
}
a
l
p
h
a
С 3.0 мы получаем следующую ошибку:
Тип 'Range' (aka 'Range') не соответствует протоколу 'Sequence'
Я пытаюсь выполнить очень простую операцию со строками в swift - просто перейдите через первую половину строки (или более общую проблему: перейдите через ряд строк).
Я могу сделать следующее:
let s = "string"
var midIndex = s.index(s.startIndex, offsetBy: s.characters.count/2)
let r = Range(s.startIndex..<midIndex)
print(s[r])
Но здесь я действительно не пересекаю строку. Поэтому возникает вопрос: как мне пройти через диапазон заданной строки. Как:
for i in Range(s.startIndex..<s.midIndex) {
print(s[i])
}