Добавить id в события в напоминании Objective-C

Я добавляю события напоминания, используя Eventkit.framework в своем приложении, но когда я показываю события напоминания в своем приложении, он показывает все события напоминания в iPhone, но я хочу показать события напоминания, которые я добавлен.

Вот мой код для добавления события с помощью модального контроллера просмотра

EKEventEditViewController *addController = [[EKEventEditViewController alloc] initWithNibName:nil bundle:nil];
EKEvent * eve = [EKEvent eventWithEventStore:self.eventStore];
addController.eventStore = self.eventStore;
addController.event = eve;
[self presentModalViewController:addController animated:YES];

вот код для извлечения событий напоминания

self.eventStore = [[EKEventStore alloc] init];
self.eventsList = [[NSMutableArray alloc] initWithArray:0];
self.defaultCalendar = [self.eventStore defaultCalendarForNewEvents];
self.navigationController.delegate = self;
[self.eventsList addObjectsFromArray:[self fetchEventsForToday]];

выбор метода события

- (NSArray *)fetchEventsForToday {
 NSDate *startDate = [NSDate date];
 NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:86400];
 NSArray *calendarArray = [NSArray arrayWithObject:defaultCalendar];
 NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate
 calendars:calendarArray];
 NSArray *events = [self.eventStore eventsMatchingPredicate:predicate];
 return events;
}
1 ответ

Каждое событие имеет свойство eventIdentifier, уникальную идентификационную строку для каждого события. Когда ваше приложение добавляет события, оно может хранить eventIdentifiers в своих данных приложения, а затем загружать этот список при каждом запуске. Вы можете убедиться, что события не были удалены, убедившись, что [self.eventStore eventWithIdentifier:identifier]; возвращает действительный EKEvent. Когда вы хотите отобразить список событий, добавленных в приложение, вы можете просто получить события, которые соответствуют сохраненным вами идентификаторам. Поскольку идентификаторы будут никогда повторно использоваться, эта система не будет зависеть от пользователей, которые добавляют и удаляют события за пределами вашего приложения.

licensed under cc by-sa 3.0 with attribution.