O'Reilly logo

iOS 6 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

16.5. Adding Recurring Events to Calendars

Problem

You want to add a recurring event to a calendar.

Solution

In this example, we are creating an event that occurs on the same day, every month, for an entire year. The steps are as follows:

  1. Create an instance of EKEventStore.

  2. Find a modifiable calendar inside the calendars array of the event store (for more information, refer to Recipe 16.1).

  3. Create an object of type EKEvent (for more information, refer to Recipe 16.2).

  4. Set the appropriate values for the event, such as its startDate and endDate (for more information, refer to Recipe 16.2).

  5. Instantiate an object of type NSDate that contains the exact date when the recurrence of this event ends. In this example, this date is one year from today’s date.

  6. Use the recurrenceEndWithEndDate: class method of EKRecurrenceEnd and pass the NSDate you created in step 5 to create an object of type EKRecurrenceEnd.

  1. Allocate and then instantiate an object of type EKRecurrenceRule using the initRecurrenceWithFrequency:interval:end: method of EKRecurrenceRule. Pass the recurrence end date that you created in step 6 to the end parameter of this method. For more information about this method, please refer to this recipe’s Discussion.

  2. Assign the recurring event that you created in step 7 to the recurringRule property of the EKEvent object that was created in step 3.

  3. Invoke the saveEvent:span:error: instance method with the event (created in step 3) as the saveEvent parameter and the value EKSpanFutureEvents for the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required