gpt4 book ai didi

swift - mapView 中的 MapKit 运行时错误(_ :didAdd:) with clustering

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:04 29 4
gpt4 key购买 nike

我在实现 MKMapViewDelegate 的方法 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 包含的内容。

enter image description here

我看到里面有一个MKClusterAnnotation实例。如果这是真的,我会得到错误,但为什么会发生这种情况?我做错了什么吗?

通过对来自 WWDC 2017 - Session 237 What's New in MapKit 的样本实现该方法,这很容易重现。 .

最佳答案

我遇到过同样的问题。如果你实现集群并提供一个 mapView(_:didAdd:) 方法,你会崩溃——这绝对是一个 Apply 框架错误。该问题在 iOS 11.3 中很容易重现,但幸运的是在 iOS 11.4 中已得到纠正。

关于swift - mapView 中的 MapKit 运行时错误(_ :didAdd:) with clustering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49813171/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com