Ios EKEventEditViewController不会关闭

Ios EKEventEditViewController不会关闭,ios,swift,eventkit,Ios,Swift,Eventkit,我在助手类中演示EKEventEditViewController,如下所示: func showAddAppointmentController(withDate date:Date) { let eventVC = EKEventEditViewController() eventVC.editViewDelegate = self eventVC.eventStore = eventStore eventVC.event?.title = "Test ap

我在助手类中演示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)
}
一切正常,显示控制器,但只要我按Add或Cancel,除了以下控制台输出外,什么也不会发生:

[EKCalendarItemLocationInlineEditItem isSubitemAtIndexSaveable:]-位置内联编辑项在其非会议位置单元格上没有文本标签;将不会返回

我已经按照如下方式实现了委托,但是该方法没有被调用,也没有打印,断点也不起作用

extension CalendarHelper : EKEventEditViewDelegate {
    func eventEditViewController(_ controller: EKEventEditViewController, didCompleteWith action: EKEventEditViewAction) {
        print("Delegate called!")
        controller.dismiss(animated: true) {
            self.delegate?.didFinish()
        }
    }
}

好吧,错误在别的地方,我的错。我在代码中创建了CalendarHelper,但没有将其作为类的属性保存,因此一旦显示了日历,该助手就被删除,不再作为代理使用

private var calendarHelper:CalendarHelper?

override func viewDidLoad() {
    super.viewDidLoad()
    calendarHelper = CalendarHelper(delegate: self)
}

func showCalendar() {
    calendarHelper.showCalendar()
}
而不是

func showCalendar() {
    CalendarHelper(delegate: self).showCalendar()
}