如何使用排序描述符按日期排序字典数组

时间:2016-05-25 09:41:10

标签: ios objective-c nsarray nsdate nssortdescriptor

我有一个字典数组,字典就是这样的。

Rows = (
    "<DriverRowRecord: 0x7f8de3a240d0>",
    "<DriverRowRecord: 0x7f8de3a18790>"
);
Sections = "<DriverSectionRecord: 0x7f8de3a2c5a0>";

此处DriverRowRecordDriverSectionRecord是不同的类。在DriverSectionRecord我有一个date属性。

@interface DriverSectionRecord : NSObject
    @property(nonatomic,retain)NSDate *date;
@end

现在我想根据DriverSectionRecord的{​​{1}}属性对数组进行排序。如果字典包含date密钥,我会按照这样排序。

date

但是,由于 NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES]; NSArray *descriptors = [NSArray arrayWithObject:descriptor]; NSArray *Ascendingorder = [Array sortedArrayUsingDescriptors:descriptors]; date的属性,因此无法正常工作。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

 NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"Sections.date" ascending:YES];
 NSArray *descriptors = [NSArray arrayWithObject:descriptor];
 NSArray *Ascendingorder = [Array sortedArrayUsingDescriptors:descriptors];

我从上面的评论中得到了解决方案。感谢所有人的澄清。