美文网首页
Swift3-把事件写入到日历中

Swift3-把事件写入到日历中

作者: 殇丶无痕 | 来源:发表于2017-09-30 09:44 被阅读12次

事件添加

  • 导入头文件 import EventKit

  • 创建 EKEventStore类型的实例eventStore 以及事件的id eventIdentifier

  • 获取请求权限

    var eventStore: EKEventStore!
          
    eventStore.requestAccess(to: .event) { (success, error) in
              
        if error != nil {
                  
            // 错误中心
            print(error ?? "")
                  
        }else if !success {
                  
            // 用户被拒绝
                  
            print(error ?? "")
                  
        }else{
                  
            // 创建事件
                  
        }
              
    }
    
  • 在else里面创建事件

    let event: EKEvent = EKEvent(eventStore: self.eventStore)
          
    event.title = "您今天该还款了,借贷宝 1000元"
          
    event.location = "我在上海浦东软件园"
          
    // 开始时间 应该传入时间戳
          
    event.startDate = self.dateFrom(time: "2017-05-27 11:37:00", format: "yyyy-MM-dd HH:mm:ss")
          
    // 结束时间 时间到了 该事件从日历中消失
          
    event.endDate = self.dateFrom(time: "2017-05-27 11:38:00", format: "yyyy-MM-dd HH:mm:ss")
          
    // 提醒时间 按照秒来计算
          
    event.addAlarm(EKAlarm(relativeOffset: -10))
          
    event.addAlarm(EKAlarm(relativeOffset: -30))
          
    event.addAlarm(EKAlarm(relativeOffset: -50))
          
    event.calendar = self.eventStore.defaultCalendarForNewEvents
          
    do {
              
        // 事件添加成功
              
        try self.eventStore.save(event, span: .thisEvent)
              
        print(event.eventIdentifier)
              
        self.eventIdentifier = event.eventIdentifier
              
    } catch {
              
        print("有坏银!")
              
    }
    

事件删除

  • 根据之前获取的id "eventIdentifier"

    let eventToRemove = eventStore.event(withIdentifier: eventIdentifier!)
          
    if (eventToRemove != nil) {
              
        do {
                  
            try eventStore.remove(eventToRemove!, span: .thisEvent)
                  
        } catch {
                  
            print("Bad things happened")
                  
        }
              
    }
    

相关文章

网友评论

      本文标题:Swift3-把事件写入到日历中

      本文链接:https://www.haomeiwen.com/subject/bwlgextx.html