我有兩個視圖控制器 - 一個是可以通過locationManager獲取用戶位置座標的mapView,另一個是我希望能夠拉動這些用戶座標的VC。Swift 3.0從不同的視圖控制器獲取用戶位置座標
第一個VC:MapView的
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
var coordinatesOfUser = locations.last?.coordinate
print("The value of usercoordinates are \(coordinatesOfUser)")
// here I want to be able to pull this variable, coordinatesOfUser
if let location = locations.last {
let span = MKCoordinateSpanMake(0.00775, 0.00775)
let myLocation = CLLocationCoordinate2DMake(location.coordinate.latitude,location.coordinate.longitude)
let region = MKCoordinateRegionMake(myLocation, span)
map.setRegion(region, animated: true)
}
self.map.showsUserLocation = true
locationManager.stopUpdatingLocation()
}
二VC:
我想調用這個VC的功能的LocationManager的。這是將座標拉到VC的最有效方法嗎?如果是這樣,我該如何去做呢?
它可以很容易地用MVVM模式實現http://rasic.info/bindings-generics-swift-and-mvvm/。兩個視圖控制器都使用一個視圖模型。 –