登録されているリマインダー全てを取得して、登録日降順に並び替えています。
fetchRemindersMatchingPredicate
でEKReminderの配列を取得して、並び替えてます。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func sortedReminders(){ | |
self.reminders = []; | |
var eventStore : EKEventStore = EKEventStore() | |
var calendars:NSArray = eventStore.calendarsForEntityType(EKEntityTypeReminder) | |
var predicate = eventStore.predicateForRemindersInCalendars(calendars) | |
eventStore.fetchRemindersMatchingPredicate(predicate, completion: { (reminders: [AnyObject]!) -> Void in | |
let sortedReminders = reminders.sorted({ (item1 , item2 ) -> Bool in | |
let calendar = NSCalendar(identifier: NSGregorianCalendar)! | |
let compare = calendar.compareDate(item1.creationDate, toDate: item2.creationDate, toUnitGranularity: NSCalendarUnit.MinuteCalendarUnit) | |
return compare == NSComparisonResult.OrderedDescending | |
}) | |
for reminder in sortedReminders { | |
println(reminder.creationDate) | |
self.reminders.append(reminder as EKReminder) | |
} | |
}) | |
} |