无法调用' split'使用类型'(String,(String) - > Bool)的参数列表'在SWIFT 2中

时间:2015-07-30 14:56:34

标签: xcode swift swift2 xcode7

错误:无法调用' split'使用类型'(String,(String) - > Bool)的参数列表'

我想使用的代码:let nameArr = split(name) {$0 == "."}

1 个答案:

答案 0 :(得分:4)

字符串不再是收藏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符合协议,但Apple决定删除String Sliceable的一致性,请小心。

您可以在@AirSpeedVelocity的博客中详细了解Changes to the Swift Standard Library in 2.0 beta 1中的知名人数变化。非常好。

我希望这对你有所帮助。