Повторное использование объекта iOS MapKit MKPointAnnotation - PullRequest
0 голосов
/ 15 мая 2018

Я использую эту функцию для изменения местоположения маркера карты на основе выбора пользователя:

let annotation = MKPointAnnotation()   //global reused annotation object
func setPin(mapView: MKMapView, longitude: Double, latitude: Double, title: String) {        
    annotation.coordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
    annotation.title = title
    mapView.addAnnotation(annotation)
}

Координаты и заголовок неоднократно меняются, поэтому меня немного беспокоит, правильный ли это подход. Объект MKPointAnnotation создается только один раз как глобальный, и только его содержимое обновляется при вызове функции setPin () . Пока что это работает без проблем, , кроме сбоя с симулятором, который иногда не обновляет / не рендерит заголовок.

Может ли это привести к утечкам? Возможно, я пропустил какие-либо шаги, чтобы освободить объект или удалить его с карты, прежде чем снова использовать его?

ТИА.

...