错误:不能使用类型为'(String, (String) -> Bool)'的参数列表调用'split'
我想使用的代码:let nameArr = split(name) {$0 == "."}
string不再是Collections, String
不再符合CollectionType
。您可以使用其他替代方法,例如函数componentsSeparatedByString
:
var name = "Victor.Hello.GYTT"
let nameArr = name.componentsSeparatedByString(".") // [Victor, Hello, GYTT]
另一个选择是使用characters
属性:
let nameArr = split(name.characters) { $0 == "." }.map { String($0) }
在Xcode 7 beta 2中使用新的.init
语法,其中init
"现在可以像静态方法一样被引用",如下所示:
let nameArr = split(name.characters) { $0 == "." }.map { String.init }
或者使String
也符合协议,但苹果决定将String
的一致性删除为Sliceable
,要小心。
你可以在@AirSpeedVelocity的博客中阅读更多关于Swift标准库在2.0 beta 1中的变化。真的很不错。