我正在使用 DispatchGroup.enter() 和 leave() 来处理辅助类的 reverseG 异步函数。问题很明显,我正在使用 mainViewController 的对象在 helper 类中调用 mainViewControllers 的 dispatchGroup.leave() !有没有办法做到这一点?
当在主视图控制器中声明 reverseG 时,相同的代码有效。
class Geo {
var obj = ViewController()
static func reverseG(_ coordinates: CLLocation, _ completion: @escaping (CLPlacemark) -> ()) {
let geoCoder = CLGeocoder()
geoCoder.reverseGeocodeLocation(coordinates) { (placemarks, error) in
if let error = error {
print("error: \(error.localizedDescription)")
}
if let placemarks = placemarks, placemarks.count > 0 {
let placemark = placemarks.first!
completion(placemark) // set ViewController's properties
} else {
print("no data")
}
obj.dispatchGroup.leave() …Run Code Online (Sandbox Code Playgroud) reverse-geocoding grand-central-dispatch completionhandler swift
我正在尝试为 Yahoo 天气 api 查找天气状况图像的链接。我在 JSON 响应中得到条件代码,猜测图像是基于它们的。与 OpenWeatherMap 一样,您将条件代码添加到主 URL http://openweathermap.org/img/w/(conditionCode)
如何为雅虎图片做到这一点?