iphone - EKAlarm 绝对日期为空

标签 iphone ios alarm eventkit ekevent

对于我的项目,我使用 EventKit 访问 iPhone (iOS 5.1.1) 上的日历并从默认日历中获取所有事件。那很好用。对于我检查的每个事件 hasAlarms,如果为真,我想知道警报的时间。所以,像这样:

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

问题是我得到 NSLog 的“(null)”。我不知道我做错了什么......

有人可以帮忙吗?非常感谢!

最佳答案

EKAlarm 将有一个 absoluteDate 或一个 relativeOffset。如果 absoluteDate 为空,则 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 结果:

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

关于iphone - EKAlarm 绝对日期为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347063/

相关文章:

java - 闹钟安卓应用

android - 创建应用程序时如何将电话号码链接到图像?

iOS - 用一个按钮杀死应用程序?

iOS 自动释放池 block

ios - datepicker ios 中的开始日期到结束日期

iOS 8自定义闹钟使用uilocalnotification并在手机静音时在后台播放声音

iphone - 没有 KVC 的 RestKit 对象映射关系

iphone - NSMutablearray 自动替换以前的值

ios - 使用多个 UIViews 而不是多个 UIViewControllers

react-native - 适用于 Android 和 iOS 的 React Native 中的警报功能