尝试从网络调用中获取返回回复对象。该会话是使用星形尖叫API的类。我似乎无法让这个工作。它只打印出一组来自第一个id的结果。我在这里缺少什么?
let myGroup = DispatchGroup()
for i in 0 ..< marketIds.count {
myGroup.enter()
self.session.retrieve(withMethod: MarketKeys.key, withParameters: [MarketKeys.id: marketIds[i]], completion: { (results, error) in
print("results \n")
print(results!)
myGroup.leave()
})
}
myGroup.notify(queue:.main) {
print("Done")
}
答案 0 :(得分:0)
添加此内容,以便发送组通知
myGroup.notify(queue: .main) {
print("Both functions complete ")
}
答案 1 :(得分:0)
此article为您提供了简单DispatchGroup
使用的快速参考指南。
一个例子:
let dispatchGroup = DispatchGroup()
dispatchGroup.enter()
longRunningFunction { dispatchGroup.leave() }
dispatchGroup.enter()
longRunningFunctionTwo { dispatchGroup.leave() }
dispatchGroup.notify(queue: .main) {
print("Both functions complete ")
}
当处理队列中的所有项目并且允许您相应地对此做出反应时,将调用notify函数。所以上面的例子将运行两个长时间运行的任务,然后输出“两个函数完成”