iOS9中怎样在日历App中建立一个随意时间以前開始的提醒(三)

大熊猫猪·侯佩原创或翻译做品.欢迎转载,转载请注明出处.
假设认为写的很差请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;)数据库


四.建立随意时间以前開始的提醒

现在咱们找到了指定源中的指定日历,剩下要作的就是在日历中建立一个事件,并且设置其对于的提醒.咱们可以建立2种类型的事件:单一的和循环的(或者称之为反复的).这里为了简单起见(KISS),咱们仅仅建立单一的事件:markdown

-(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);
    }
}

咱们来解释下上述方法的含义:post

首先设置好事件的開始和结束时间.
而后关联事件和日历.接下来建立一个提醒对象EKAlarm,并将其開始时间设置为相对于事件開始时间的前7秒钟.
使用 addAlarm:方法将提醒与该事件对象相关联.
最后咱们将事件保存到日历数据库中.spa

咱们首先在模拟器上执行一下:翻译

这里写图片描写叙述

可以看到提醒时间为7秒以前,最后咱们在真机上执行一下:code

这里写图片描写叙述

注意在真机上执行别忘了将日历源改成iCloud,而在模拟器上日历源为Default.对象

相关文章
相关标签/搜索