Fra*_*nck 2 arrays sorting xcode swift
我需要订购一个数组struct.
我试过了:
let aRes = self.aSoundTracks_Filtered.sort{ $0.st < $1.st }
Run Code Online (Sandbox Code Playgroud)
提供错误:无法使用类型为'((_,_) - > _)'的参数列表调用'sort'
也尝试这个:
let hasPrefixAndSuffixw = self.aSoundTracks_Filtered.sort( $0.st < $1.st )
Run Code Online (Sandbox Code Playgroud)
提供错误:匿名闭包参数未包含在闭包中
任何的想法?:)
我的aSoundTracks_Filtered是这样的:
var aSoundTracks_Filtered = [SoundTrack]()
Run Code Online (Sandbox Code Playgroud)
我的结构是这样的:
struct SoundTrack {
let sID : Int
let st : String
}
Run Code Online (Sandbox Code Playgroud)
以下列方式在Playground中测试时,您的代码工作正常:
struct SoundTrack {
let sID : Int
let st : String
}
var aSoundTracks_Filtered = [SoundTrack]()
aSoundTracks_Filtered.append(SoundTrack(sID: 1, st: "a"))
aSoundTracks_Filtered.append(SoundTrack(sID: 2, st: "b"))
aSoundTracks_Filtered.sort{ $0.st > $1.st } // [{sID 2, st "b"}, {sID 1, st "a"}]
Run Code Online (Sandbox Code Playgroud)
但sort()就地排列阵列.您可能想要使用的是sorted(),它不会修改原始数组并返回一个新的排序数组:
let aRes = aSoundTracks_Filtered.sorted{ $0.st > $1.st }
Run Code Online (Sandbox Code Playgroud)
上面的代码是针对Swift 1.2的,对于Swift 2.0,返回一个排序的数组再次被称为"sort",但它现在是一个(协议扩展)方法而不是全局函数.我希望这对你有帮助.
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |