Swift 具有群集功能的mapView(uIdAdd:)中的MapKit运行时错误
我在实现Swift 具有群集功能的mapView(uIdAdd:)中的MapKit运行时错误,swift,mapkit,xcode9.3,Swift,Mapkit,Xcode9.3,我在实现MKMapViewDelegate的方法mapView(uquo:didAdd:)时遇到意外错误。这是在Xcode 9.3之后发生的,而不是在Xcode 9.2中发生的。使用集群时,在使用视图数组时会出现运行时错误 func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) { if let view = views.first { // Fatal error: NSArray element fai
MKMapViewDelegate
的方法mapView(uquo:didAdd:)
时遇到意外错误。这是在Xcode 9.3之后发生的,而不是在Xcode 9.2中发生的。使用集群时,在使用视图
数组时会出现运行时错误
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))
}
}
据我所知,视图
数组并不像预期的那样只包含MKAnnotationView
实例。以下是有关崩溃的视图
所包含的内容
我看到里面有一个MKClusterAnnotation
实例。如果这是真的,我会得到错误,但是为什么会发生这种情况?我做错什么了吗
通过在中的样本上实现该方法,可以很容易地复制此问题。我也遇到过同样的问题。如果您实现集群并提供一个mapView(uz:didAdd:)方法,您将崩溃-这肯定是一个Apply framework错误。这个问题在iOS 11.3中很容易重现,但幸运的是在iOS 11.4中得到了纠正