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オプションの開始日と期日を持つ todo リストのタスクのようなものです。このdueDateComponentsプロパティを使用すると、タスクをいつ完了する必要があるかを指定できます。たとえば、期限切れのアイテムを表示できます。これは情報提供であり、アラームとは別のものです。

リマインダーにアラームを設定すると、アラームが鳴ったときにリマインダー アプリがユーザーに通知します。

Reminders アプリでは期日を設定できず、アラームの日付のみを設定できるように見えるため、これは少し紛らわしいと思います。ただし、このブログ投稿では、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 に答える