EventKit: напоминания dueDateComponents vs Alarm

Я хочу создать напоминание из своего приложения, поэтому я создал напоминание (EKReminder) и установил будильник:

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

но я вижу, что в EKReminder также есть свойство dueDateComponents. В чем разница между установкой будильника и dueDateComponents?

Также там есть метод для создания тревоги: alarmWithRelativeOffset:(NSTimeInterval)offset но в документации сказано, что аргумент смещения может быть отрицательным, как возможно иметь тревогу в прошлом?


person Jonathan.    schedule 03.01.2013    source источник


Ответы (2)


элемент EKReminder похож на задачу в списке дел с необязательными датой начала и сроком выполнения, свойство dueDateComponents позволяет указать, когда задача должна быть завершена. Это позволит вам показать просроченные элементы, например. Это информационное сообщение, отдельное от сигнала тревоги.

Установка будильника для напоминания приведет к тому, что приложение «Напоминания» уведомит пользователя о срабатывании будильника.

Я предполагаю, что это немного сбивает с толку, потому что приложение «Напоминания», похоже, не позволяет вам установить дату выполнения, а только дату будильника. Однако в этом сообщении в блоге показано, как раньше вы могли установить дату выполнения, но не дату напоминания на icloud.com: http://blog.truthdialogue.com/2012/07/setting-due-даты-в-os-x-mountain-lion-reminders-app.html. Похоже, что Apple упростила приложения с момента разработки API.

Смещение для alarmWithRelativeOffset: от даты/времени начала события. Таким образом, вы можете настроить будильник на срабатывание, например, за x минут до события.

person Andrew Tetlaw    schedule 08.01.2013

person    schedule
comment
Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, почему и/или как этот код отвечает на вопрос, повышает его ценность в долгосрочной перспективе. - person Donald Duck; 04.09.2017