zoukankan      html  css  js  c++  java
  • iOS9中怎样在日历App中创建一个随意时间之前開始的提醒(三)

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


    四.创建随意时间之前開始的提醒

    如今我们找到了指定源中的指定日历,剩下要做的就是在日历中创建一个事件,而且设置其对于的提醒.我们能够创建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:方法将提醒与该事件对象相关联.
    最后我们将事件保存到日历数据库中.

    我们首先在模拟器上执行一下:

    这里写图片描写叙述

    能够看到提醒时间为7秒之前,最后我们在真机上执行一下:

    这里写图片描写叙述

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

  • 相关阅读:
    招银网络
    MYSQL基础
    http中get和post请求的作用和区别
    设计模式
    STL浅析
    云盾态势感知系统检测到您的服务器出现了紧急安全事件:挖矿木马
    SVN服务器搭建详解--权限划分
    MySQL主主复制,mysql主从复制,MySQL+keepalived故障转移。
    Redhat7.0系统利用amoeba对mysql数据进行读写分离的操作,MySQL数据库的主从配置
    源码安装zabbix LNMP源码安装
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7345343.html
Copyright © 2011-2022 走看看