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

标签 xcode swift swift2 xcode7

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

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

最佳答案

字符串不再是集合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 也符合协议(protocol),但 Apple 决定删除 StringSliceable 的一致性,请小心。

您可以在 Changes to the Swift Standard Library in 2.0 beta 1 中阅读更多关于显着变化的信息在@AirSpeedVelocity 的博客中。真的很不错。

希望对你有帮助

关于xcode - 无法在 SWIFT 2 中使用类型为 'split' 的参数列表调用 '(String, (String) -> Bool)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31727224/

相关文章:

iphone - 打开项目时 xcode 崩溃

ios - TextView 或文本字段 iOS 的双空格点击

swift - 从展开中保存更改。与 <返回一起工作

ios - 用于打开商店的模型与用于创建商店的模型不兼容 Xcode 7.1

iphone - Xcode 无法检测到装有 iOS 6.1.4 的 iPhone 5 设备

ios - 在 swift 中关闭 tableView 后再次查看复选标记

ios - Swift 中的协议(protocol)扩展与类扩展

ios - 如何使用 Storyboard设置条件初始 View Controller

swift - 使用未解析的标识符 'numbers'

ios - 在 Swift 中从字符串转换为 int