Как провести различие между событием, сохраненным в моем приложении, и событием, сохраненным с помощью приложения календаря с помощью EventKit? - PullRequest
0 голосов
/ 17 мая 2019

Я успешно сохранил события своего приложения в локальном календаре, используя Eventkit, но теперь я хочу удалить события, которые я сохранил, используя только мое приложение.Но приведенный ниже код дает мне список всех событий, сохраненных в календаре, но я просто хочу удалить свое собственное сохраненное событие.Как я могу это сделать?

 let predicate = eventStore.predicateForEvents(withStart: start, end: endDate, calendars: [calendar])       
 let events = eventStore.events(matching: predicate)

Ответы [ 2 ]

2 голосов
/ 17 мая 2019

При сохранении событий в календарь вы можете сохранить свойство EKEvent eventIdentifier .

А когда вы хотите удалить созданные вами события, вы можете запросить их по идентификаторам.

Примечание: хранить eventIdentfier только после вызова eventStore.save(...) метода.

0 голосов
/ 17 мая 2019

Вы можете удалить событие, только сравнив заголовок события с выбранными событиями:

    var allEvents: [EKEvent] = []

    let eventStore = EKEventStore()
    let calendars = eventStore.calendars(for: .event)

    for calendar in calendars {

        // end date (about) one year from now
        let endDate = Date(timeIntervalSinceNow: 60*60*24*365)

        let predicate = eventStore.predicateForEvents(withStart: Date(), end: endDate as Date, calendars: [calendar])

        let events = eventStore.events(matching: predicate)

        allEvents.append(contentsOf: events)

    }

    for event in allEvents {
        print(event.title, "in", event.calendar.title)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...