将数据传递给 MapDetailViewController

Pass data to MapDetailViewController

我的地图上有注释。我想在用户点击 AccessoryControl 并将数据传递给该视图控制器时打开一个新的视图控制器。

所以我这样做:

func mapView(mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
    self.performSegueWithIdentifier("Details", sender: view)
}

然后:

if segue.identifier == "Details" {

        let placeDetailViewController = segue.destinationViewController as! PlaceDetailViewController

        let place: Place = places[?index?]
        placeDetailViewController.place = place
}

所以我想获取我的注释的索引,但不知道该怎么做。

求助。谢谢

您需要在 prepareForSegue:

中完成
override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
        if segue!.identifier == "Details" {
            let vc = segue!.destinationViewController as PlaceDetailViewController
            vc.data = "YOUR_DATA_HERE"
        }
    }