Я написал класс в Swift для Lat/Long, и я хочу разместить местоположение на контроллере представления. Я использую KVO в составе MVC. Я просто на испытания той момент, но почему неТест KVO в SWIFT
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
let location = locations.last as! CLLocation
let geocoder = CLGeocoder()
geocoder.reverseGeocodeLocation(location, completionHandler: { (placemarks, e) -> Void in
if let error = e {
println("Error: (e.localizedDescription)")
} else {
let placemark = placemarks.last as! CLPlacemark
LocationClass.addObserver(self, forKeyPath: "LocationString", options: .New, context: &self.myContext)
self.LocationManager.stopUpdatingLocation()
self.LocationString = "\(placemark.subLocality), \(placemark.locality)"
}
})
}
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject: AnyObject], context: UnsafeMutablePointer<Void>) {
println("Things have changed")
}
}
но почему не «функция observeValueForKeyPath дозвонились? Любые идеи были бы замечательными. LocationString - динамический var в верхней части класса. MyContext - это просто var int = 0
спасибо за это, но он по-прежнему не работает .. Я изменил свой код в своем описании, спасибо – Jason