iOS9中怎樣在日曆App中建立一個任意時間之前開始的提醒(三)
四.建立任意時間之前開始的提醒
現在我們找到了指定源中的指定日曆,剩下要做的就是在日曆中建立一個事件,並且設定其對於的提醒.我們可以建立2種類型的事件:單一的和迴圈的(或者稱之為重複的).這裡為了簡單起見(KISS),我們只建立單一的事件:
-(void)addAlarmToCalendar:(EKCalendar*)calendar inStore:(EKEventStore*)store{ NSDate *startDate = [NSDate dateWithTimeIntervalSinceNow:60]; NSDate *endDate = [startDate dateByAddingTimeInterval:20.f]; EKEvent *event = [EKEvent eventWithEventStore:store]; event.calendar = calendar; event.startDate = startDate; event.endDate = endDate; EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:-7.f]; event.title = @"Event with Alarm"; [event addAlarm:alarm]; NSError *saveError = nil; if ([store saveEvent:event span:EKSpanThisEvent error:&saveError]) { NSLog(@"Saved an event that fires 60 seconds from now."); }else{ NSLog(@"Failed to save the event Error is %@",saveError); }}
我們來解釋下上述方法的含義:
首先設定好事件的開始和結束時間.
然後關聯事件和日曆.接下來建立一個提醒對象EKAlarm,並將其開始時間設定為相對於事件開始時間的前7秒鐘.
使用 addAlarm:方法將提醒與該事件對象相關聯.
最後我們將事件儲存到行事曆資料庫中.
我們首先在模擬器上執行一下:
vczh0NHKsbzkzqo3w+vWrsewLNfuuvPO0sPH1NrV5rv6yc/Uy9DQ0rvPwjo8L3A+DQo8cD48aW1nIGFsdD0="這裡寫圖片描述" src="http://www.bkjia.com/uploads/allimg/160315/04225043I-1.png" title="" />
注意在真機上運行別忘了將日曆源改為iCloud,而在模擬器上日曆源為Default.