我在加载的地图上有一些注释。我知道如何获取注释到用户位置的距离,并希望能够在用户选择时在字幕中显示它。
我以为我可以在这里做到。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
但问题是我无法分配新的字幕,因为它抱怨它是只读的。
有什么想法吗?
答案 0 :(得分:2)
根据您的评论,您尝试的代码是这样的:
view.annotation.subtitle = @"something";
编译器会在此处给出错误“Assignment to readonly property”,因为annotation
的{{1}}属性被键入为通用MKAnnotationView
。
id <MKAnnotation>
协议将MKAnnotation
定义为默认的唯一身份。
subtitle
类(根据其他注释用于注释)实现MKPointAnnotation
但覆盖 MKAnnotation
为可写。
为避免编译器错误,您需要将subtitle
强制转换为view.annotation
(在您的情况下确实如此)。例如:
MKPointAnnotation