Ios 如何使用didUpdateLocation函数之外的坐标?
我试图使用Ios 如何使用didUpdateLocation函数之外的坐标?,ios,swift,core-location,Ios,Swift,Core Location,我试图使用didUpdateLocations函数之外的坐标,但无法使其工作 我试图将坐标声明为函数之外的度数,但这不起作用 我怎样才能得到这方面的指导 var currentUserLatitude:CLLocationDegrees? var currentUserLongitude:CLLocationDegrees? func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLoc
didUpdateLocations
函数之外的坐标,但无法使其工作
我试图将坐标声明为函数之外的度数,但这不起作用
我怎样才能得到这方面的指导
var currentUserLatitude:CLLocationDegrees?
var currentUserLongitude:CLLocationDegrees?
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]){
//location info about the user
let location = locations.last
let center = CLLocationCoordinate2D(latitude: (location?.coordinate.latitude)!, longitude: (location?.coordinate.longitude)!)
let span = MKCoordinateSpan(latitudeDelta: 0.05, longitudeDelta: 0.05)
let region = MKCoordinateRegion(center: center, span:span)
self.mapView.setRegion(region, animated: true)
// i want to use these variables outside the function
var currentUserLatitude = location!.coordinate.latitude
var currentUserLongitude = location!.coordinate.longitude
}
如果要为在局部函数外部声明的变量赋值,请不要将变量重新声明为局部变量 更改这些行:
var currentUserLatitude = location!.coordinate.latitude
var currentUserLongitude = location!.coordinate.longitude
致:
这个问题与Java有什么关系?清楚地定义“不工作”。rmaddy的答案是正确的。你应该接受它。当您使用“var”或“let”这个词时,您正在创建一个新变量。您的代码有两对不同的变量。一对是实例变量,第二对是didUpdateLocations函数中的局部变量。通过去掉didUpdateLocations函数中的“var”关键字,您的代码将按照您的意愿更改实例变量。
currentUserLatitude = location!.coordinate.latitude
currentUserLongitude = location!.coordinate.longitude