Passing data between mapView and tableView
我有一个带有mapView和tableView的viewController。我正在尝试从mapView获取类似用户当前位置的数据,并将其传递给tableView,以便我可以打印出计算出的距离。
我尝试使用此代码...
1 | let distance = currentLocation.distanceFromLocation(endLocation) |
但是这是行不通的,因为currentLocation是在locationManager的didUpdateLocation函数中创建的,而endLocation是从我从CloudKit中提取的表视图数据中创建的。由于这两个数据来自不同的函数,因此我无法将它们一起使用。
如何设置userLocation,以便可以在locationManager的功能之外使用它?
我有这个..
1 2 3 4 5 | func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) { let userLocation:CLLocation = locations[0] as! CLLocation let ulong = userLocation.coordinate.longitude; let ulat = userLocation.coordinate.latitude; } |
但是我不能使用该函数之外的数据。
将当前位置和结束位置保存到其他CLLocation对象,然后实现以下代码。
func CalculateDisatnceBetweenTwoLocations(source:CLLocation,destination:CLLocation)-> Double {
1 2 3 4 | var distanceMeters = source.distanceFromLocation(destination) var distanceKM = distanceMeters / 1000 let roundedTwoDigit = distanceKM.roundedTwoDigit return roundedTwoDigit |
} ??