我有以下示例:
Error getting all calendars: Error Domain=EKCADErrorDomain Code=1013 "The operation couldn’t be completed. (EKCADErrorDomain error 1013.)"
这是一个地方:
_estore = EKEventStore()
_estore.reset()
_estore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(granted:Bool!, error:NSError!) in
if granted == true {
println("######### allowed calendar accounts #########")
var calendars = self._estore.calendarsForEntityType(EKEntityTypeEvent) // <-- Exception
}
})//block
我得到正确的弹出窗口Allow/No
- 我点击“允许”并在调试中输入granted
但是得到例外。
来自THIS回答@yunas
我试图用我的代码包装:
if _estore.respondsToSelector(Selector("completion:")){ /* ... */ }
但在这种情况下,我永远不会进入if
代码有什么问题?
请帮忙,
答案 0 :(得分:0)
_estore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(granted:Bool!, error:NSError!) in
if granted == true {
let calendars : [EKCalendar] = _estore.calendarsForEntityType(EKEntityTypeEvent) as [EKCalendar]
}
试试这个。