我使用的是 Xcode 6.3,以下是《Swift 编程语言》一书中的代码:
var fav:Set=["cd","bsa","aft"]
for genre in fav.sort(){
println("\(genre)")
}
但是编译器报错
'Set' does not has a member named 'sort'
Apple 是否在 Xcode 6.4 中将 sort()
添加到了 Set
中,还是我使用了错误的方式?
最佳答案
如果您使用的是 Xcode 6.3,则您正在阅读错误版本的 iBook。本书目前有两个版本。
前者包含使用 Swift 1.2 的示例,该示例随 Xcode 6.3 一起提供,而后者将这些示例转换为 Swift 2,后者需要 Xcode 7。
对于您提供的代码,Apple 提供了非预发行书中的以下示例。
for genre in sorted(favoriteGenres) {
println("\(genre)")
}
它使用 Swift 1 的全局 sorted()函数,该函数(以及全局 sort() 函数)已在 Swift 2 中删除。在 Swift 2 中,这两个全局函数已被 sort() 取代。通过协议(protocol)扩展声明的实例方法。
关于swift - 如何迭代有序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31498259/