如何在Swift iOS 8中使用requestAccessToEntityType方法

时间:2014-07-11 07:47:18

标签: swift ios8 eventkit ekeventstore

我试图在iOS8中使用Swift来使用EKEventStore来获取事件列表,据我所知,文档尚未更新。

这就是我想要做的事情:

let eventStore =  EKEventStore()

eventStore.requestAccessToEntityType(EKEntityType(), EKEventStoreRequestAccessCompletionHandler(Bool(), NSError(){}))

这是我得到的错误:

'EKEventStoreRequestAccessCompletionHandler' is not constructible with '(Bool, NSError)

你知道如何在Swift中正确使用方法或处理程序吗?

1 个答案:

答案 0 :(得分:6)

请试试这个:

func handler(granted: Bool, error: NSError!) {
    // put your handler code here
}

@IBAction func click(sender: AnyObject) {
    let eventStore = EKEventStore()

    // 'EKEntityTypeReminder' or 'EKEntityTypeEvent'
    eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: handler) 
}

另一个变体是:

@IBAction func click(sender: AnyObject) {
    let eventStore = EKEventStore()

    // 'EKEntityTypeReminder' or 'EKEntityTypeEvent'
    eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: {
        granted, error in

        // put your handler code here
        })
}