2012-07-05 28 views
0

我的項目我使用EventKit訪問iPhone(iOS 5.1.1)上的日曆並從默認日曆中獲取所有事件。這工作正常。對於每個事件,我檢查hasAlarms,如果屬實,我想知道報警的時間。所以,這樣的事情:EKAlarm absoluteDate爲null

for (EKEvent *ev in allEventsArray){ 
      if ([ev hasAlarms]){ 
       NSArray *alarms = ev.alarms; 
       for (EKAlarm *alarm in alarms){ 
        NSLog(@"%@",alarm.absoluteDate); 
       } 
      } 
} 

問題是,我得到「(空)」的NSLog。我不知道我在做什麼錯...

任何人都可以幫忙嗎?提前謝謝了!

回答

2

EKAlarm將有一個absoluteDate或一個relativeOffset。如果absoluteDate爲null,那麼relativeOffset將有一個值。

EKAlarm *alarmA = [EKAlarm alarmWithAbsoluteDate:[NSDate date]]; 
EKAlarm *alarmB = [EKAlarm alarmWithRelativeOffset: -300.0f]; 

NSLog(@"Absolute alarmA = %@", alarmA.absoluteDate); 
NSLog(@"Absolute alarmB = %@", alarmB.absoluteDate); 
NSLog(@"Relative alarmA = %f", alarmA.relativeOffset); 
NSLog(@"Relative alarmB = %f", alarmB.relativeOffset); 

的NSLog resuts:

Absolute alarmA = 2012-07-27 00:19:06 +0000 
Absolute alarmB = (null) 
Relative alarmA = 0.000000 
Relative alarmB = -300.000000 
+0

有道理 - 非常感謝你! – Robert 2012-08-09 15:42:41