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