a EKReminder element is similar to a task in the task list with an optional start date and a set date; the dueDateComponents property allows dueDateComponents to specify when the task should be completed. This will allow you to display expired items, for example. It is informational and separate from anxiety.
Setting the alarm in the reminder will cause the reminder application to notify the user when the alarm goes off.
I assume this is a bit confusing because the reminder app does not allow you to set a payment date, only a warning date. However, on this blog, it shows how you could set a date, but not a reminder date on icloud.com: http://blog.truthdialogue.com/2012/07/setting-due-dates-in-the-os-x- mountain-lion-reminders-app.html . It seems that Apple has simplified applications since the development of the API.
The offset for alarmWithRelativeOffset: comes from the start date / time of the event. Thus, you can set the alarm to go x minutes before the event, for example.
source share