我正在使用Xcode 6.3,以下是The Swift编程语言一书中的代码:
var fav:Set=["cd","bsa","aft"]
for genre in fav.sort(){
println("\(genre)")
}
但是编译器报告了错误
'Set'没有名为'sort'的成员
Apple是否在Xcode 6.4中将sort()
添加到Set
,还是我以错误的方式使用它?
答案 0 :(得分:2)
如果您正在使用Xcode 6.3,那么您正在阅读错误的iBook版本。目前有两本版本可供使用。
前者包含使用Swift 1.2的示例,后者附带Xcode 6.3,而后者则将这些示例转换为需要Xcode 7的Swift 2。
如果是您提供的代码,Apple会从非预发行书中提供以下示例。
for genre in sorted(favoriteGenres) {
println("\(genre)")
}
使用Swift 1的全局sorted()函数,它(以及全局sort()函数)已在Swift 2中删除。在Swift 2中,这两个全局函数已被{替换{3}}通过协议扩展声明的实例方法。
答案 1 :(得分:2)
以下是一个快速比较:
var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]
for genre in favoriteGenres.sort() {
print("\(genre)")
}
var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]
for genre in sorted(favoriteGenres) {
println("\(genre)")
}
有关更多文档,请参阅Collection Types。