【问题标题】:EventKit: reminders dueDateComponents vs AlarmEventKit:提醒到期日期组件与警报
【发布时间】:2013-01-03 08:11:57
【问题描述】:

我想通过我的应用创建提醒,所以我创建了提醒 (EKReminder) 并设置了闹钟:

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

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

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

【问题讨论】:

    标签: objective-c ios eventkit


    【解决方案1】:

    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 分钟响起。

    【讨论】:

      【解决方案2】:
      let alarmist : EKAlarm = EKAlarm()
      alarmist.relativeOffset = -0
      reminder.addAlarm(alarmist)
      NSLog("reminder has alarm ->" + reminder.hasAlarms.description)
      

      【讨论】:

      • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
      【解决方案3】:
       EKAlarm *reminder = [EKAlarm alarmWithRelativeOffset:-00];
              [event addAlarm:reminder];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多