Как использовать UIDropSession для событий календаря Apple?
Начать реализацию перетаскивания, по большей части просто Drop, добавленные изображения для перетаскивания, контакты, строки были заблокированы un Calendar Event
так что мой код выглядит так:
func addDropInteraction() {
let dropInteraction = UIDropInteraction(delegate: self)
view.addInteraction(dropInteraction)
}
public func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool {
return session.hasItemsConforming(toTypeIdentifiers: [kUTTypeCalendarEvent as String]) && session.items.count == 1
}
public func dropInteraction(_ interaction: UIDropInteraction, sessionDidUpdate session: UIDropSession) -> UIDropProposal {
return UIDropProposal(operation: .copy)
}
public func dropInteraction(_ interaction: UIDropInteraction, performDrop session: UIDropSession) {
}
единственная проблема в том, что я не могу загрузить объект типа
EKEvent
или
EKECalendarItem
поэтому при реализации:
session.loadObjects(ofClass: EKEvent.self) { eventItems in
let events = eventItems as! [EKEvent]
}
в
performDrop session:
я получаю сообщение об ошибке:
Instance method 'loadObjects(ofClass:completion:)' requires that 'EKEvent' conform to '_ObjectiveCBridgeable'
Итак, мой вопрос: как я могу загрузить события календаря?