【发布时间】:2016-06-23 23:56:35
【问题描述】:
我对异步任务有疑问。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
self.loadRemote {
log.debug("completed remote data")
}
self.loadLocal {
log.debug("completed local data")
}
self.loadAdmin {
log.debug("completed admin data")
}
dispatch_async(dispatch_get_main_queue()) {
log.debug("called completed data")
completed()
}
}
以下代码无法按我的意愿工作。它按以下顺序调用:
completed local data
called completed data
completed remote data
这不是我所期望的。你可以想象我想要的顺序是:“local”、“remote”,最后是“call completed”。
谢谢!
【问题讨论】:
标签: swift function asynchronous closures