swift -> Swift排序Sort函数用法
转自 : http://blog.csdn.net/li962429707/article/details/46885773
用了几分钟做的简单翻译
一个例子
直接贴代码,不过多解释
//这是我们的model
class imageFile {
var fileName = String()
var fileID = Int()
}
//使用
var images : [imageFile] = []
images.sort({ $0.fileID > $1.fileID })
swift 3 :
returns.sort(by: {$0.frq > $1.frq})
下面是闭包的进阶使用
//一般的代码形式
images.sort({ (image1: imageFile, image2: imageFile) -> Bool inreturn image1.fileID > image2.fileID })
// 省略(->)的形式
images.sort({ image1, image2 inreturn image1.fileID > image2.fileID })
// 带返回值的简单闭包形式
images.sort({ image1, image2 in image1.fileID > image2.fileID })
// 隐含参数的形式
images.sort({ $0.fileID > $1.fileID })
// 以下结果都是相同,只是书写形式不同
images = images.sorted({ (image1: imageFile, image2: imageFile) -> Bool inreturn image1.fileID > image2.fileID })
images = images.sorted({ image1, image2 inreturn image1.fileID > image2.fileID })
images = images.sorted({ image1, image2 in image1.fileID > image2.fileID })
images = images.sorted({ $0.fileID > $1.fileID })
sd
//swift标准库
sort(&images, { (image1: imageFile, image2: imageFile) -> Bool inreturn image1.fileID > image2.fileID })
sort(&images, { image1, image2 inreturn image1.fileID > image2.fileID })
sort(&images, { image1, image2 in image1.fileID > image2.fileID })
sort(&images, { $0.fileID > $1.fileID })
//使用方法
images = sorted(images, { (image1: imageFile, image2: imageFile) -> Bool inreturn image1.fileID > image2.fileID })
images = sorted(images, { image1, image2 inreturn image1.fileID > image2.fileID })
images = sorted(images, { image1, image2 in image1.fileID > image2.fileID })
images = sorted(images, { $0.fileID > $1.fileID })