gpt4 book ai didi

ios - didSelect mapView 注释无法正常工作

转载 作者:行者123 更新时间:2023-11-29 11:37:12 24 4
gpt4 key购买 nike

当我点击 map 注释时,它会显示有关图钉的更多信息。

在我第一次点击尝试时,当我点击 map 注释时,它会成功运行并且会显示正确的信息,但是当我点击返回按钮并对同一引脚进行第二次点击尝试时,发生了 fatal error 并显示'解包时意外发现 nil 和可选值',

根据我的观察并进行了一些故障排除和调试,我发现只有在我点击 map 图钉之前没有先点击 map 或者我没有点击其他图钉 (如果我在没有点击 map 的情况下第二次尝试点击相同的图钉,则会发生第一次错误)

MyAnnotations 类:

import MapKit

class MyAnnotations: NSObject,MKAnnotation{

var coordinate: CLLocationCoordinate2D
var title: String?
var subtitle: String?
var img: String?
var court_id: Int?
var class_name: String?

init(coordinate:CLLocationCoordinate2D, title: String?, subtitle:
String?, img:String?, court_id: Int?, class_name: String?){
self.coordinate = coordinate
self.title = title
self.subtitle = subtitle
self.img = img
self.court_id = court_id
self.class_name = class_name

super.init()
}
}

我的 func mapView(_:didSelect:):

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView){
let ibp = view.annotation as? MyAnnotations
print(ibp!)
ibp_id = (ibp?.court_id)!
IdentifierCell = "pin_IBP"
performSegue(withIdentifier: "map_ibp_info", sender: self)
}

最佳答案

尝试以下代码:

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView){
if view.annotation is MKUserLocation {
return
}

let ibp = view.annotation as? MyAnnotations
print(ibp!)
ibp_id = (ibp?.court_id)!
IdentifierCell = "pin_IBP"
performSegue(withIdentifier: "map_ibp_info", sender: self)
}

关于ios - didSelect mapView 注释无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48434873/

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