将数据传递给注释中的segue?

时间:2016-03-22 07:06:27

标签: swift annotations mkmapview mkannotation cloudkit

我有一个带有注释的mapView,这些注释是使用CloudKit中的数据创建的。我使用注释中的信息按钮在点击按钮时调用segue。

我知道我可以像这样轻松传递标题和副标题。

func mapView(mapView: MKMapView, annotationView: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {

    let detailTitle = annotationView.annotation.title

    performSegueWithIdentifier("fromMap", sender: self)

}

我的问题是我需要发送的不仅仅是MKAnnotation视图中的数据。我还有一些来自CloudKit记录的其他字段,我需要通过segue传递给细节控制器,但我不能为我的生活找出如何做到这一点。

使用tableView很容易,因为你有indexPath信息,但据我所知,你没有注释。

我查看了我可以在网上找到的所有帖子和信息,但我仍然卡住了。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

您只需使用tuple发送多个对象并从目标视图控制器中捕获它们

func mapView(mapView: MKMapView, annotationView: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
  let detailTitle = annotationView.annotation.title
  performSegueWithIdentifier("fromMap", sender: (annotation.title, annotation.subtitle, annotation.address))
}