Я пытаюсь написать свою первую программу Swift, и я знаю, что этот вопрос задан раньше, но ответы с использованием split не работают для меня. Я использую Xcode 6.4 и Swift 1.2.Разделить строку на массив в Swift
У меня есть строка с именем.
Если я пишу
let inputs = split(line) {$0 = " "}
как было предложено на Swift: Split a String into an array, я получаю сообщение об ошибке "Невозможно вызвать 'раскол' со списком аргументов типа (String, () ->)"
Если я пишу
let inputs = split(line, {find(" ",$0) != nil}, allowEmptySlices: false)
как было предложено на split now complains about missing "isSeparator", я получаю сообщение об ошибке «Отсутствует аргумент для параметра«я sSeparator 'в вызове.
Если я прыгну к определению раскола, я считаю
func split<S : Sliceable, R : BooleanType>(elements: S, maxSplit: Int = default, allowEmptySlices: Bool = default, #isSeparator: @noescape (S.Generator.Element) -> R) -> [S.SubSlice]
Я не понимаю, что тип последнего параметра, который, возможно, корень моей проблемы. Можете ли вы рассказать мне, как я должен назвать раскол, и еще лучше вы можете объяснить, что такое тип параметра? Почему нет типа просто (S) -> R? Я получаю строку от генератора, который читает файл по строкам, если это имеет значение.
for line:String in reader! {
let inputs = split(line) {$0 = " "}
...
}
'let input = split (line) {$ 0 ==" "}' – oisdk
Сравнение выполняется с помощью '=='. '=' - оператор присваивания. –
Трудно поверить, что я много раз искал код, но не замечал этого. Мне так глупо, спасибо. – saulspatz