0

i have fetch all the events from device with its property but i couldn't get alarm and alert property in EKEvent

NSPredicate *fetchCalendarEvents = [store predicateForEventsWithStartDate:currentDate endDate:eventDate calendars:nil];

eventList = [store eventsMatchingPredicate:fetchCalendarEvents];
calanderDict =[[NSMutableDictionary alloc]init];

for(int i=0; i < eventList.count; i++){
   NSLog(@"Event Title:%@", [[eventList objectAtIndex:i] title]);
   NSLog(@"Event StartDate:%@", [[eventList objectAtIndex:i] startDate]);
   NSLog(@"Event EndDate:%@", [[eventList objectAtIndex:i] endDate]);
   NSLog(@"Event Notes:%@", [[eventList objectAtIndex:i]lastModifiedDate]);
   NSLog(@"Event Notes:%@", [[eventList objectAtIndex:i]notes]);
   NSLog(@"Event Alarms:%@", [[eventList objectAtIndex:i]alarms]);
   NSLog(@"Event Alarms Alert:%@", [[eventList objectAtIndex:i]alertTitle]);
}
Mihriban Minaz
  • 3,043
  • 2
  • 32
  • 52
Vivek Goswami
  • 432
  • 3
  • 16

1 Answers1

0

eventsMatchingPredicate returns an array of EKEvent.
The alarms property of an event returns an array of EKAlarm.

EKEvent / EKCalendarItem doesn't have a property alertTitle

To make it clear that's your code using fast enumeration

NSPredicate *fetchCalendarEvents = [store predicateForEventsWithStartDate:currentDate endDate:eventDate calendars:nil];

eventList = [store eventsMatchingPredicate:fetchCalendarEvents];
calanderDict = [[NSMutableDictionary alloc] init];

for (EKEvent *event in eventList) {
   NSLog(@"Event Title:%@", event.title);
   NSLog(@"Event StartDate:%@", event.startDate);
   NSLog(@"Event EndDate:%@", event.endDate);
   NSLog(@"Event Last Modified Date:%@", event.lastModifiedDate);
   NSLog(@"Event Notes:%@", event.notes);
   if (event.hasAlarms) {
      for (EKAlarm *alarm in event.alarms) {
          NSLog(@"Alarm AbsoluteDate:%@", alarm.absoluteDate);
          NSLog(@"Alarm Type:%@", alarm.type);
      }
   }
}
vadian
  • 274,689
  • 30
  • 353
  • 361
  • in your code alarm.absolute and alarm.type both are getting null even i set both, and alarm.type not working... @vadian – Vivek Goswami Apr 09 '16 at 11:08
  • Sorry, `alarm.type` is of type `Int`, so it's supposed to be `NSLog(@"Alarm Type:%ld", alarm.type);` The code is just an example to access the properties of the different classes. – vadian Apr 09 '16 at 11:12