我有一个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
键上对此数组进行排序,以便将最新事件放在首位
有没有聪明的方法可以快速完成。
谢谢。
答案 0 :(得分:1)
我认为您应该将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的更多信息