XCode 6.3 MKPointAnnotation setCoordinate отсутствует
Я только что обновил XCode до 6.3, и теперь получаю следующую ошибку:
MKPointAnnotation не имеет члена с именем 'setCoordinate'.
Не уверен, куда он пошел, или если мы должны использовать какой-то другой метод MK. Любая помощь приветствуется.
func refreshlocation(lat:String, lon:String, withOffset:Bool = false){
// 1 Convert the string values to something that can be used.
let location = CLLocationCoordinate2D(
latitude: (lat as NSString).doubleValue as CLLocationDegrees,
longitude: (lon as NSString).doubleValue as CLLocationDegrees
)
// 2 setup some initial variables.
let span = MKCoordinateSpanMake(
(self.locationLatitudeDelta as NSString).doubleValue as CLLocationDegrees,
(self.locationLongitudeDelta as NSString).doubleValue as CLLocationDegrees
)
let region = MKCoordinateRegion(center: location, span: span)
mapView.setRegion(region, animated: true)
//3 decorate the point and add the point to the map.
var annotation = MKPointAnnotation()
annotation.setCoordinate(location) //Error on this line
}
Ответы
Ответ 1
Как указано в iOS 8.3 API Diffs в модуле MapKit, метод setCoordinate
был удален:
Удалено MKAnnotation.setCoordinate(CLLocationCoordinate2D)
К счастью, теперь вы должны использовать более простой синтаксис присваивания (который уже был доступен в предыдущих версиях Swift, и то же самое можно было бы сделать в Objective-C):
annotation.coordinate = location