2015-08-07 3 views
1

Я только что обновил Xcode 7 до beta5 и обнаружил, что функция split заменена методом split. Я еще не настолько опытен в Swift, чтобы понять, как обновить текущий код до нового синтаксиса.Сплит-метод в swift 2.0 (XCode 7 beta 5)

let components = split(name.characters){$0 == "."}.map { String($0) } 
// 'split(_:maxSplit:allowEmptySlices:isSeparator:)' is unavailable: Use the split() method instead. 

ответ

7

Если функция split была заменена методом разделения, то не должен ли новый код выглядеть так?

let components = name.characters.split {$0 == "."}.map { String($0) } 
+0

Если это не сложно, не могли бы вы объяснить синтаксис, используемый в этой строке кода. Я чувствую себя потерянным здесь :( – driver733

+0

Что вы не понимаете из приведенного выше синтаксиса? Я думаю, возможно, используемый здесь синтаксический сахар, который позволяет нам избегать использования круглых скобок, чтобы указать параметры, но у вас уже есть это на вашем вызове из 'map {...}' поэтому не уверен, что это вас беспокоит ... Если вы считаете его более читаемым, вы можете написать эту строку, не используя синтаксис «закрывающего закрытия» (позволяющий не помещать последний параметр в круглые скобки если это замыкание): 'let components = name.characters.split ({$ 0 ==". "}). map ({String ($ 0)})' – AliSoftware