按条件对 NSMutableArray 进行排序

Sorting an NSMutableArray by criteria

我想按日期顺序对 NSMutableArray 进行排序:

var currentReminders: NSMutableArray

这个数组存储这样的提醒对象:

class Reminders: NSObject {

    var title: String?
    var dueDate = NSDate()

    init(...) {...}
}

我想按日期升序对currentReminder进行排序(最近的dueDate排在上面)

有人能告诉我怎么做吗?

创建 NSSortDescriptor 对象并用它对数组进行排序:

var dateDescriptor = NSSortDescriptor(key: "dueDate", ascending: true)
var sortedArray = currentReminders.sortedArrayUsingDescriptors([dateDescriptor])

新的 sortedArray 将包含按 dueDate 排序的对象。

此外,我建议使用原生 Swift 对象,例如 Array<T> 而没有 NSObject 子类。这将使排序和数据处理变得更加容易。