7

我想从我的应用程序创建一个提醒,所以我创建了一个提醒 (EKReminder) 并设置了一个警报:

NSTimeInterval timeInterval = 100000;
NSDate *alarmDate = [NSDate dateWithTimeIntervalSinceNow:timeInterval];
EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:alarmDate];
[reminder setAlarms:@[alarm]];

但我看到 EKReminder 上还有一个 dueDateComponents 属性。设置闹钟和dueDateComponents有什么区别?

还有一种方法可以创建警报:alarmWithRelativeOffset:(NSTimeInterval)offset但是文档说偏移参数可以是负数,过去怎么可能发出警报?

4

3 回答 3

9

项目有点EKReminder像待办事项列表中的任务,具有可选的开始日期和截止日期,该dueDateComponents属性允许您指定何时完成任务。例如,它将允许您显示过期项目。这是信息性的,与警报分开。

在提醒上设置警报将导致提醒应用程序在警报响起时通知用户。

我想这有点令人困惑,因为提醒应用程序似乎不允许您设置截止日期,而只能设置警报日期。然而,在这篇博文中,它显示了您过去是如何在 icloud.com 上设置截止日期但没有提醒日期的:http: //blog.truthdialogue.com/2012/07/setting-due-dates-in-the -os-x-mountain-lion-reminders-app.html。自开发 API 以来,Apple 似乎已经简化了应用程序。

偏移量alarmWithRelativeOffset:是从事件的开始日期/时间开始的。因此,例如,您可以将警报设置为在事件发生前 x 分钟响起。

于 2013-01-08T06:50:25.540 回答
1
let alarmist : EKAlarm = EKAlarm()
alarmist.relativeOffset = -0
reminder.addAlarm(alarmist)
NSLog("reminder has alarm ->" + reminder.hasAlarms.description)
于 2017-09-04T11:25:17.717 回答
0
 EKAlarm *reminder = [EKAlarm alarmWithRelativeOffset:-00];
        [event addAlarm:reminder];
于 2015-04-16T07:17:42.157 回答