按键值对 swift 中字典的 NSMutableArray 进行排序
sort NSMutableArray of Dictionary in swift by a key value
我有一个 NSMutableArray
包含这样的字符串字典
[[link: myurl, title:My title, pubDate: Wed, 11 Mar 2015 07:00:00 PDT],
[link: my link, title: my title2 , pubDate: Fri, 20 Mar 2015 01:00:00 PDT]]
我需要根据 pubDate
键对这个数组进行排序,这样最新事件应该排在最前面。
在 swift.
中有什么聪明的方法吗?
谢谢。
我认为你应该将你的 pubDate
转换为 NSDate
然后比较 2 dateValue
,它比比较 2 stringValue
.
更好
试试这个代码:
var itemArray : NSMutableArray = [["link":"myurl", "title":"My title", "pubDate": "Wed, 11 Mar 2015 07:00:00 PDT" ], ["link" : "my link", "title": "my title2" , "pubDate": "Fri, 20 Mar 2015 01:00:00 PDT"]]
let dateFormatter: NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss z"
itemArray.sortUsingComparator{
(obj1:AnyObject!, obj2:AnyObject!) -> NSComparisonResult in
var dateStr1 = obj1["pubDate"] as NSString
var date1: NSDate = dateFormatter.dateFromString(dateStr1)!
var dateStr2 = obj2["pubDate"] as NSString
var date2: NSDate = dateFormatter.dateFromString(dateStr2)!
return date2.compare(date1)
}
结果:
请参阅 Format String for the iPhone NSDateFormatter 了解有关 dateFormatter 的更多信息
我有一个 NSMutableArray
包含这样的字符串字典
[[link: myurl, title:My title, pubDate: Wed, 11 Mar 2015 07:00:00 PDT],
[link: my link, title: my title2 , pubDate: Fri, 20 Mar 2015 01:00:00 PDT]]
我需要根据 pubDate
键对这个数组进行排序,这样最新事件应该排在最前面。
在 swift.
谢谢。
我认为你应该将你的 pubDate
转换为 NSDate
然后比较 2 dateValue
,它比比较 2 stringValue
.
更好
试试这个代码:
var itemArray : NSMutableArray = [["link":"myurl", "title":"My title", "pubDate": "Wed, 11 Mar 2015 07:00:00 PDT" ], ["link" : "my link", "title": "my title2" , "pubDate": "Fri, 20 Mar 2015 01:00:00 PDT"]]
let dateFormatter: NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss z"
itemArray.sortUsingComparator{
(obj1:AnyObject!, obj2:AnyObject!) -> NSComparisonResult in
var dateStr1 = obj1["pubDate"] as NSString
var date1: NSDate = dateFormatter.dateFromString(dateStr1)!
var dateStr2 = obj2["pubDate"] as NSString
var date2: NSDate = dateFormatter.dateFromString(dateStr2)!
return date2.compare(date1)
}
结果:
请参阅 Format String for the iPhone NSDateFormatter 了解有关 dateFormatter 的更多信息