根据日期排序对象数组

时间:2016-06-27 09:38:42

标签: ios swift

我有NSMutableArray个包含对象及其名为HistoryObject的对象,它有属性日期,名称,类型......等等

我无法找到一种正确的方法来为这种对象从新日期到旧日期对数组进行排序。如果有人会解释我如何通过示例实现这一点!

我尝试了以下但是它不起作用:

let sortedArray = HistoryArray.sort({$0.date.compare($1.date) == NSComparisonResult.OrderedAscending })

日期的格式如下:Jun 26, 2016

2 个答案:

答案 0 :(得分:2)

以这种方式做到

// Create your model
class Model {
    var date:NSDate!
    var name:String!
}

// Not use the NSArray, but use the swift array with sepecific type of data in it
var array = [Model]()

// fake models
for i in 0..<10 {
    let model = Model()
    model.date = NSDate(timeInterval: Double(i*60), sinceDate: NSDate())
    model.name = "\(i)"
    array.append(model)

}

// then sort using this code
let newArray = array.sort{ $0.date.timeIntervalSince1970 > $1.date.timeIntervalSince1970 }

答案 1 :(得分:1)

你应该这样试试,

 let sortedArray = HistoryArray.sortInPlace({ $0.date.compare($1.date) == NSComparisonResult.OrderedAscending })

这在Swift2.1中运行良好

希望这会对你有所帮助。