2016-04-07 12 views
0

ich habe alle Ereignisse mit seiner Eigenschaft von Gerät holen, aber ich konnte nicht Alarm und Alarm Eigenschaft erhalten in EKEventWie wird die Alert- und Alarm-Eigenschaft von der EKEvent-Klasse in Objective-C abgerufen?

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

Antwort

0

eventsMatchingPredicate eine Reihe von EKEvent zurückgibt.
Die alarms Eigenschaft eines Ereignisses gibt ein Array von EKAlarm zurück.

EKEvent/EKCalendarItem hat keine Eigenschaft alertTitle

Um deutlich zu machen, das ist der Code schnell 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); 
     } 
    } 
} 
+0

in Ihrem Code alarm.absolute und alarm.type beide sind immer null auch i set, und alarm.type funktioniert nicht ... @vadian –

+0

Sorry, 'alarm.type' ist vom Typ' Int', also sollte es 'NSLog sein (@" Alarm Type:% ld ", alarm.type) ; 'Der Code ist nur ein Beispiel, um auf die Eigenschaften der verschiedenen Klassen zuzugreifen. – vadian