首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Swift中对字典数组进行排序

在Swift中对字典数组进行排序
EN

Stack Overflow用户
提问于 2014-07-06 16:01:30
回答 1查看 10K关注 0票数 17

假设我们有

代码语言:javascript
复制
var filesAndProperties:Dictionary<String, Any>[]=[] //we fill the array later

尝试使用以下命令对数组进行排序

代码语言:javascript
复制
filesAndProperties.sort({$0["lastModified"] > $1["lastModified"]})

Xcode显示“找不到成员下标”。

如何根据特定键中的值对这类字典的数组进行排序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-06 16:21:36

该错误消息具有误导性。真正的问题是,Swift编译器不知道对象$0["lastModified"]是什么类型,也不知道如何比较它们。

所以你必须更明确一点,例如

代码语言:javascript
复制
filesAndProperties.sort {
    item1, item2 in
    let date1 = item1["lastModified"] as Double
    let date2 = item2["lastModified"] as Double
    return date1 > date2
}

如果时间戳是浮点数,或者

代码语言:javascript
复制
filesAndProperties.sort {
    item1, item2 in
    let date1 = item1["lastModified"] as NSDate
    let date2 = item2["lastModified"] as NSDate
    return date1.compare(date2) == NSComparisonResult.OrderedDescending
}

如果时间戳是NSDate对象。

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24593867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档