我有一个EKReminder对象数组,我想按到期日期对它们进行排序。

首先,这样做看起来很容易:

NSSortDescriptor *dateDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"dueDate" ascending:YES];

[remindersArray sortUsingDescriptors:@[dateDescriptor]];

但是,EKReminder的到期日期是NSDateComponents对象,而不是NSDate

有任何想法吗?

最佳答案

因此,经过一些研究,我设法相对容易地解决了问题:

[allReminders sortUsingComparator:^NSComparisonResult(id obj1,id obj2){
        EKReminder *reminder1 = obj1;
        EKReminder *reminder2 = obj2;

        NSDate *date1 = [reminder1.dueDateComponents date];
        NSDate *date2 = [reminder2.dueDateComponents date];
        return [date1 compare:date2];
     }];

希望这对某人有帮助!

10-04 13:57