我使用此功能根据用户选择更改地图标记的位置:
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()函数时更新其内容。到目前为止,它一直没有问题,除了模拟器的故障,有时不刷新/渲染标题。
这会导致任何泄漏吗?在重复使用之前,我是否遗漏了任何释放obejct或将其从地图中删除的步骤,或许?
TIA。