在我的应用程序中,我有一个开关,允许用户将某些事件放入他们的议程中。我是这样处理的:
@IBAction func putInAgenda(_ sender: UISwitch) {
let store = manager.store
if (sender.isOn){
store.requestAccess(to: EKEntityType.event, completion: {
(accessGranted: Bool, error: Error?) in
if accessGranted == true {
self.eventsHandler.importEventsInAgenda(id)
} else {
DispatchQueue.main.async {
sender.isOn = false
}
}
})
} else {
//
}
shared?.set(sender.isOn, forKey: "putInAgenda")
shared?.synchronize()
}
然而,与我的预期相反,“store.requestAccess”不仅包含请求,还包含设置。
我该怎么办?