实现MKMapViewDelegate
's 方法时出现意外错误mapView(_:didAdd:)
。它从 Xcode 9.3 开始发生,而 Xcode 9.2 没有发生。使用集群时,使用views
数组时出现运行时错误。
func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) {
if let view = views.first { // Fatal error: NSArray element failed to match the Swift Array Element type
print(type(of: view))
}
}
据我了解,该views
数组不仅仅包含MKAnnotationView
预期的实例。这是views
崩溃时包含的内容。
我看到里面有一个MKClusterAnnotation
实例。如果这是真的,我会收到错误消息,但为什么会发生这种情况?难道我做错了什么?
这很容易通过在WWDC 2017 - Session 237 What's New in MapKit 中的示例上实现方法来重现。