作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有以下代码,用于尝试使注释 View 出队,然后在它不存在时创建一个,但是有一些重复,这看起来不像是“快速”的方式。关于如何改进这一点有什么建议吗?
func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
let identifier = "annotation"
if let annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier(identifier) as? MKPinAnnotationView {
configureAnnotationView(annotationView)
return annotationView
} else {
let annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
configureAnnotationView(annotationView)
return annotationView
}
}
最佳答案
您的代码看起来不错。
缩短它的一种方法可能是
let annotationView =
mapView.dequeueReusableAnnotationViewWithIdentifier(identifier) ??
MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
那么您也只需要一个 return
语句,而不需要 if
子句。
关于ios - Swift 中的 dequeueReusableAnnotationViewWithIdentifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297109/
这是我的代码: - (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id)annotation { i
我有一个 MKMapView,屏幕上同时显示大约 1000 个 MKPinAnnotationView。 它的滚动性能非常慢。 我正在尝试将我的注释 View 适本地出列,如下所示: - (MKAnn
我在 map View 中添加自定义注释。基于应用程序的内部模型,注释可以改变颜色和标题(尽管位置可能不会改变)。我在方法中使用 dequeueReusableAnnotationViewWithId
我有以下代码,用于尝试使注释 View 出队,然后在它不存在时创建一个,但是有一些重复,这看起来不像是“快速”的方式。关于如何改进这一点有什么建议吗? func mapView(mapView: MK
我是一名优秀的程序员,十分优秀!