• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【iOS】swift排序Sort函数用法(包含NSDictionary排序)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
用了几分钟做的简单翻译

一个例子

直接贴代码,不过多解释

//这是我们的model
class imageFile  {
    var fileName = String()
    var fileID = Int()
}
//使用
var images : [imageFile] = []
images.sort({ $0.fileID > $1.fileID })

下面是闭包的进阶使用

// 一般的代码形式
images.sort({ (image1: imageFile, image2: imageFile) -> Bool in return image1.fileID > image2.fileID })

// 省略(->)的形式
images.sort({ image1, image2 in return image1.fileID > image2.fileID })

// 去掉return的简单闭包形式
images.sort({ image1, image2 in image1.fileID > image2.fileID })

// 隐藏参数的形式
images.sort({ $0.fileID > $1.fileID })

// 以下结果都是相同,只是书写形式不同
images = images.sorted({ (image1: imageFile, image2: imageFile) -> Bool in return image1.fileID > image2.fileID })
images = images.sorted({ image1, image2 in return image1.fileID > image2.fileID })
images = images.sorted({ image1, image2 in image1.fileID > image2.fileID })
images = images.sorted({ $0.fileID > $1.fileID })
//swift标准库
sort(&images, { (image1: imageFile, image2: imageFile) -> Bool in return image1.fileID > image2.fileID })
sort(&images, { image1, image2 in return 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 in return image1.fileID > image2.fileID })
images = sorted(images, { image1, image2 in return image1.fileID > image2.fileID })
images = sorted(images, { image1, image2 in image1.fileID > image2.fileID })
images = sorted(images, { $0.fileID > $1.fileID })
let dictionary = [
    "A" : [1, 2],
    "Z" : [3, 4],
    "D" : [5, 6]
]

NSDictionary根据key排序

let sortedKeys = Array(dictionary.keys).sorted(<) // ["A", "D", "Z"]
let sortedKeysAndValues = sorted(dictionary) { $0.0 < $1.0 }
println(sortedKeysAndValues) // [(A, [1, 2]), (D, [5, 6]), (Z, [3, 4])]

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap