我正在尝试创建可以返回CLLocation值的函数?
由于这是异步方法,因此在一段时间后会赋值,并在此之前返回get。 lat后,有什么方法可以返回吗,lon?
func setLocation(location: String) -> [String]{
var lat: CLLocationDegrees?
var lon: CLLocationDegrees?
geocoder.geocodeAddressString(location) { placemarks, error in
let placemark = placemarks?.first
lat = placemark?.location?.coordinate.latitude
lon = placemark?.location?.coordinate.longitude
print("Lat: \(lat), Lon: \(lon)") //here i get value
}
print("Lat: \(lat), Lon: \(lon)") //but here i get nil
return ["\(String(describing: lat))", "\(String(describing: lon))"]
}