【发布时间】:2015-10-26 15:56:52
【问题描述】:
我正在尝试在 swift 2 中检索日历事件,但我无法解决这个问题:要构建表格视图,我需要知道单元格的数量,我可以从这样的方法中获得(为了简单数组是字符串):
func fetchCalendarEvents () -> [String] {
var arrayW = [String]()
let eventStore : EKEventStore = EKEventStore()
eventStore.requestAccessToEntityType(EKEntityType.Event, completion: {
granted, error in
if (granted) && (error == nil) {
print("access granted: \(granted)")
//do stuff...
}
else {
print("error: access not granted \(error)")
}
})
return arrayW
}
我在viewDidLoad中调用这个方法,并将数组保存到var eventArray。立即调用以下方法:
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return eventArray.count
}
问题是此时 fetchCalendarEvents 的完成块还没有完成,因此返回 0(虽然日历中有事件)。
我的问题:如何处理从我从方法获得的数组构建表格视图,该数组具有完成块,并且需要一些时间才能完成?
【问题讨论】:
标签: ios xcode swift swift2 ios9