Я столкнулся с проблемой некорректного отображения пользовательских аннотаций.В своем коде я проверяю, относится ли текущая аннотация к станции с заданным уникальным идентификатором.Если это так, я настраиваю его свойства.
StationAnnotationView.swift
class StationAnnotationView: MKMarkerAnnotationView {
override var annotation: MKAnnotation? {
willSet {
guard let station = newValue as? Station else { return }
clusteringIdentifier = nil
displayPriority = .required
if (station.id == "26") {
glyphText = "p"
markerTintColor = UIColor(named: "Blue")
}
}
}
Сначала мой mapView
правильно отображает аннотации (т. Е. Изменяя цвет иglyphtext для единственной станции с station.id == 26
), но после некоторого панорамирования и масштабирования мое пользовательское форматирование начинает применяться к другим аннотациям (что не должно происходить, потому что для любой данной station.id
есть только одна станция).Я подозреваю, что это из-за AnnotationView
повторного использования аннотации.Как я могу предотвратить это?