在NSDate类型的属性中订购NSArray自定义对象

时间:2012-07-20 17:23:47

标签: cocoa sorting nsarray

我有NSArrayAEMEvent个自定义对象。此AEMEvent类的其中一个属性是startDate类型的NSDate

@interface AEMEvent : NSObject
{
    //.....
    NSDate *startDate;
    //..........
}

我想基于此属性对此数组进行排序,因此输出将是NSArrayAEMEvent个按startDate属性排序的对象。

我已经看到了这个有趣的答案,用于使用NSArrayNSDate-[NSArray sortedArrayUsingSelector:-[NSMutableArray sortUsingSelector:]个对象进行排序,并将@selector(compare:)作为参数传递,并想知道是否会在我的情况下使用它是一种方法 - Sort NSArray of date strings or objects

1 个答案:

答案 0 :(得分:1)

// Sort AMEvent by startDate 

NSSortDescriptor * firstDescriptor = [[[NSSortDescriptor alloc] 
                                       initWithKey:@"startDate" ascending:YES 
                                       selector:@selector(caseInsensitiveCompare:)]

NSArray * descriptors = [NSArray arrayWithObjects:firstDescriptor, nil];  
NSArray * sortedArray = [yourArray sortedArrayUsingDescriptors:descriptors];