对不起,新手在这里,我已经广泛阅读完成处理程序,调度队列和小组,但我无法理解这一点。
我的应用加载了一系列Google商家信息ID,然后想要查询Google以获取每个地方的完整详细信息。问题是,由于异步处理,Google Lookup Place立即返回,并且回调发生在更远的线上,所以最好的方式是"正确的方式"知道最后一点数据何时进入我的查询,因为该功能几乎立即结束了?
附上代码。提前谢谢。
func testFunc() {
let googlePlaceIDs = ["ChIJ5fTXDP8MK4cRjIKzek6L6NM", "ChIJ9Wd6mGYGK4cRiWd0_bkohHg", "ChIJaeXT08ASK4cRkCGpGgzYpu8", "ChIJkRkS4BapK4cRXCT8-SJxNDI", "ChIJ3wDV_2zX5IkRtd0hg2i1LhE", "ChIJb4wUsI5w44kRnERe7ywQaJA"]
let placesClient = GMSPlacesClient()
for placeID in googlePlaceIDs {
placesClient.lookUpPlaceID(placeID, callback: { (place, error) in
if let error = error {
print("lookup place id query error: \(error.localizedDescription)")
return
}
guard let place = place else {
print("No place details for \(placeID)")
return
}
print("Place Name = \(place.name)")
})
}
print("Done")
}