2016-12-28 43 views
0

我有一個EKReminder對象的數組,我想按截止日期對它們進行排序。根據二元日期排序EKReminder

這似乎很容易在第一,做這樣的事情:

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

[remindersArray sortUsingDescriptors:@[dateDescriptor]]; 

然而,一個EKReminder的截止日期是NSDateComponents對象不是一個NSDate

任何想法?

+0

使用'dateFromComponents:'獲取日期和排序日期? – matt

+0

謝謝,但我該如何排序呢? –

+0

日期只是幾秒鐘,所以它自然可以排序。 – matt

回答

0

於是,經過一番研究,我設法解決這個問題相對容易:

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

希望這可以幫助別人!