Я представляю свой EKEventEditViewController
в классе помощника следующим образом:
func showAddAppointmentController(withDate date:Date) {
let eventVC = EKEventEditViewController()
eventVC.editViewDelegate = self
eventVC.eventStore = eventStore
eventVC.event?.title = "Test appointment"
eventVC.event?.startDate = date
eventVC.event?.endDate = date.addingTimeInterval(3600)
UIApplication.shared.keyWindow?.rootViewController?.present(eventVC, animated: true, completion: nil)
}
Все работает нормально, контроллер отображается, но как только я нажимаю «Добавить» или «Отмена»ничего не происходит, кроме следующего вывода на консоль:
[EKCalendarItemLocationInlineEditItem isSubitemAtIndexSaveable:] - Location Inline Edit Item didn't have a text label on its non conference location cell; will return NO
Я реализовал делегат следующим образом, но метод не вызывается (не печатается, а также точки остановане работает)
extension CalendarHelper : EKEventEditViewDelegate {
func eventEditViewController(_ controller: EKEventEditViewController, didCompleteWith action: EKEventEditViewAction) {
print("Delegate called!")
controller.dismiss(animated: true) {
self.delegate?.didFinish()
}
}
}