首页 > 解决方案 > 传递自定义注解的数据

问题描述

如何传递Custom注释的数据?我使用这个函数来执行segue:

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {}

class Custom: MKPointAnnotation { 
    var name: String?
    var time: String?
    var address: String?
}

标签: iosswiftmkmapview

解决方案


你可以试试

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    let anno = view.annotation as! Custom 
    print(anno.name)
    // then access the properties of anno and use them for the segue
    self.performSegue(withIdentifier:"SegueID",sender:anno)
} 

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  if segue.identifier == "SegueID" {

    let des = segue.destination as! SecondVC
    des.ann = sender as! Custom 
  }
}

class SecondVC:UIViewController {

   @IBOutlet weak var lbl:UILabel!
   var ann:Custom!
    override func viewDidLoad() {
       super.viewDidLoad()
       self.lbl.text = ann.name
     }
}

推荐阅读