活动套件 - 编辑重复活动

时间:2017-08-09 15:24:56

标签: swift eventkit ekevent

 func editFutureEventToCalendar(id:String,title: String, description: String?,alarams :[EKAlarm],location:String,contacts:[GenParticipants],repeatString :String,timeZone:NSTimeZone, startDate: NSDate, endDate: NSDate , isAllDay :Bool,calendar:EKCalendar,StruLocation:EKStructuredLocation?)->Bool {
    let eventStore = EventsManager.getEventStore()



    let event = EventsManager.geteventID(id: id)

    let ocdate = event.occurrenceDate

    event.title = title
    event.startDate = startDate as Date
    event.endDate = endDate as Date
    event.notes = description
    event.calendar = calendar
   // event.occurrenceDate = ocdate


    event.timeZone = timeZone as TimeZone //timezoneNSTimeZone() as TimeZone //timeZone as TimeZone


    event.isAllDay = isAllDay

    if StruLocation != nil {
        event.structuredLocation = StruLocation
    }else {

        event.structuredLocation = StruLocation
    }


    if repeatString != "None" {

        if event.hasRecurrenceRules {


            let rrrl = event.recurrenceRules

            for i in rrrl! {


                event.removeRecurrenceRule(i)

            }

        }


        let rule = EventsManager.getRepeatValue(repeatString)//self.getRepeatValue(option: repeat)
        event.addRecurrenceRule(rule!)
    }else if repeatString == "None"{


        if event.hasRecurrenceRules {


            let rrrl = event.recurrenceRules

            for i in rrrl! {


                event.removeRecurrenceRule(i)

            }

        }


    }






    for item in alarams {

        event.addAlarm(item)
    }
   // event.location = location
    //        let formatter = CNContactFormatter()
    //        formatter.style  =
    var attendees = [EKParticipant]()
    //        for item in contacts {
    //
    //            let con = event.(contact: item)
    //            attendees.append(con!)
    //
    //        }



    do {

        try eventStore.save(event, span: .futureEvents, commit: true)

        //try eventStore.save(event, span: .thisEvent)

        return true

    } catch let e as NSError {


        EZAlertController.alert(e.debugDescription)
    }



    return false 
}

我有这个功能用于编辑重复系列中的所有未来事件 - 如果我在一系列事件之间编辑事件,则删除所有先前事件和编辑未来事件。 我希望它能够编辑系列中的所有事件。 我使用eventKit而不是eventKitUI。我不想要eventkitUI。 如何编辑此函数以执行相同操作或者我必须以不同方式获取事件,因为重复序列中的所有事件的标识符都相同?

0 个答案:

没有答案