Objective c 按日期属性对自定义类对象的数组排序

Objective c 按日期属性对自定义类对象的数组排序,objective-c,ios,object,nsdate,Objective C,Ios,Object,Nsdate,我有一个从自定义类创建的对象数组。每个对象都有一个NSDate属性。根据日期属性对所有这些对象进行排序的最简单、最快捷的方法是什么?(按从最近到最不最近的顺序排列)。尝试以下操作: NSArray* newArray = [array sortedArrayUsingComparator: ^NSComparisonResult(MyClass *c1, MyClass *c2) { NSDate *d1 = c1.date; NSDate *d2 = c2.date;

我有一个从自定义类创建的对象数组。每个对象都有一个NSDate属性。根据日期属性对所有这些对象进行排序的最简单、最快捷的方法是什么?(按从最近到最不最近的顺序排列)。

尝试以下操作:

NSArray* newArray = [array sortedArrayUsingComparator: ^NSComparisonResult(MyClass *c1, MyClass *c2)
{
    NSDate *d1 = c1.date;
    NSDate *d2 = c2.date;

    return [d1 compare:d2];
}];
还有一种方法可以对可变数组进行排序,类似于上述方法

编辑:我知道还有其他方法可以使用更少的代码来实现这一点,但我确实更喜欢块枚举器用于所有类型的事情,所以我发现在实践中保持它很有用。您还可以调整它们以使用更多的非标准排序(整数与对象),并使用NSLog()实际记录发生的情况

NSArray* newArray = [array sortedArrayUsingComparator: ^NSComparisonResult(MyClass *c1, MyClass *c2)
{
    NSDate *d1 = c1.date;
    NSDate *d2 = c2.date;

    return [d1 compare:d2];
}];