ios - Swift 无法在 MKAnnotation 中分配字幕

标签 ios swift mkmapview mkannotation

我正在尝试以编程方式更新 MKAnnotation 中的字幕。以下代码行产生一个 cannot assign subtitle in annotation 错误:

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

在 map 中显示 MKAnnotation 后,任何人都可以帮助我更新副标题吗?

最佳答案

MKAnnotation 是一个协议(protocol)。在该协议(protocol)中,subtitle 是只读的。这意味着它无法设置。

因此,因为您已将此注释转换为 MKAnnotation,所以您无法设置 subtitle

如果您知道注解真正是什么那么您可以转换为那个,并且大概它会有一个可读/可写的 subtitle,因此您可以设置它。例如,它可能是 MKPointAnnotation,或者您可能有自己的自定义注释类。然后你就可以转换到那个,现在你可以设置 subtitle

关于ios - Swift 无法在 MKAnnotation 中分配字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086886/

相关文章:

iphone - SDWebImage 取消下载

ios - 将 makeObjectsPerformSelector 与对象一起使用

objective-c - 设备上抛出异常,但模拟器中未抛出异常

ios - 使用生物识别技术对用户进行身份验证导致应用程序崩溃

ios - 我该如何修复忽略 ffi-1.15.3 因为它的扩展未构建

swift - MapView 显示所有注释并尽可能放大 map

ios - 无法从 for 循环内返回值? swift

ios - 使用适用于 iOS 的 OAuthConsumer 将图像上传到 tumblr

ios - 将数据从 Collection View 单元格按钮传递到另一个 View Controller (Swift)

ios - 既然我正在使用 Swift 2.0,我该如何修复我的 MKOverlayRenderer?