在
Swift 1.2的最新升级之后,我无法弄清楚如何将一行文字分割成单词.我曾经这样做:
let bits = split(value!,{ $0 == " "},maxSplit: Int.max,allowEmptySlices: false)
但是,这不再工作,因为…
Cannot invoke 'split' with an argument list of type '(String,(_) -> _,maxSplit: Int,allowEmptySlices: Bool)'
嗯,好的,尽管我可以继续建设?好吧,我们试试看吧
let bits = split(value!,{ $0 == " "})
那么我可以想到的每个其他版本都会说:
Missing argument for parameter 'isSeparator' in call
让我们听听Beta版测试新的编程语言!好极了!
任何人知道正确的秘密酱1.2?
Swift 1.2中的参数似乎有所改变:
let bits = split(value!,allowEmptySlices: false,isSeparator: { $0 == " "})
或使用默认值:
let bits = split(value!,isSeparator: { $0 == " "})
谓词现在是最后一个参数,需要一个外部参数
参数名称isSeparator,因为它的前面是可选参数.
这种变化的优点是您可以使用尾随关闭
句法:
let bits = split(value!,allowEmptySlices: false) { $0 == " " }
要么
let bits = split(value!) { $0 == " " }