简体   繁体   English

根据截止日期对 EKReminder 进行排序

[英]Sort EKReminder based on due date

I have an array of EKReminder objects and I would like to sort them by due date.我有一组EKReminder对象,我想按截止日期对它们进行排序。

This seems easy at first, doing something like this:乍一看,这似乎很简单,做这样的事情:

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

[remindersArray sortUsingDescriptors:@[dateDescriptor]];

However the due date of an EKReminder is an NSDateComponents object not an NSDate .然而EKReminder的截止日期是NSDateComponents对象而不是NSDate

Any ideas?有任何想法吗?

So, after some research I managed to solve it relatively easy:因此,经过一些研究,我设法相对容易地解决了这个问题:

[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];
     }];

Hope this helps someone!希望这可以帮助某人!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM