我有一個函數,即完成後返回一些數組。功能如下:在調用中,無關的參數標籤「完成」,swift 2
func fetchCalendarEvents (completion: (eventArray: [Meeting]) -> Void) -> Void {
let eventStore : EKEventStore = EKEventStore()
eventStore.requestAccessToEntityType(EKEntityType.Event, completion: {
granted, error in
if (granted) && (error == nil) {
print("access granted: \(granted)")
.......
completion (eventArray: arrayOfEvents)
}
}
else {
print("error: access not granted \(error)")
completion (eventArray: [])
}
})
}
當試圖這樣調用這個函數,我得到以下錯誤:
//error in this line: Extraneous argument label "completion" in call:
CalendarController.fetchCalendarEvents(completion:{(eventArray:[Meeting]) -> Void in
for meeting in eventArray {
print("Meeting: \(meeting.title)")
}
})
我試圖總結我的周圍完成處理的頭,我用這個例子: http://alanduncan.me/2014/06/08/Swift-completion-blocks/ 但是我不明白這段代碼有什麼問題?
@matt:不,但你用什麼來代替?我需要抓取日曆事件,你怎麼做(我們支持ios8,ios9,以防萬一) –
對不起,我只是困惑。一大早在這裏! – matt
哈哈,沒有問題:))我想出了一些正確的答案,並對@Eric D.的回答進行了一些調整 –