我有一个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];
}];
希望这对某人有帮助!