Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用didUpdateLocation函数之外的坐标?_Ios_Swift_Core Location - Fatal编程技术网

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