2015-05-06 27 views
1

分配字幕我试图内MKAnnotation编程方式更新字幕。下面的代码行产生cannot assign subtitle in annotation错误:斯威夫特不能在MKAnnotation

let annotation: MKAnnotation = mapView.annotations[0] as! MKAnnotation 
annotation.subtitle = nil 

谁能帮助引导我,我可以更新字幕地图中显示的MKAnnotation后的方向吗?

回答

1

MKAnnotation是协议。在该协议中,subtitle是只读的。这意味着它不能设置。

所以,因为你施放此批注的MKAnnotation,你不能设置subtitle

如果你知道知道什么注释真的是,那么你可以施放到类,并假定它将具有读/写操作,这样就可以将其设置一个subtitle。例如,它可能是MKPointAnnotation,或者您可能有自己的自定义注记类。然后你就可以投射到那个,现在你可以设置subtitle

+0

我创建了自己的自定义注记类,当我尝试更新字幕时,它不会更新地图中的注释。但是,如果我在更改前后打印字幕,它看起来会正确更新。是否有需要更新地图中注释的呼叫,还是应该自动处理? –

+0

我不认为你可以显示改变。只需删除注释并将其替换为具有所需字幕的注释(但标题和坐标与删除的标题相同)。 – matt

+0

好的谢谢。我希望能有办法更新它。 –