我解释了我的问题:在我的iOS应用程序中,用Swift编写,我有一个mapview,使用mkmapkit,我添加了mkpoint注释,总共七个。当我点击每个注释标注时,它会使用performSegueWithIdentifier
打开一个新的视图控制器。
我的问题是:我是否需要使用七个不同的视图控制器,每个注释标注一个,或者我只能使用一个视图控制器?因为视图控制器设计对于所有注释标注点击必须相同,但每个注释标注的内容数据不同。
抱歉我的英语不好。我希望能解决这个问题
答案 0 :(得分:3)
当您通过performSegueWithIdentifier
执行segue时,会调用prepareForSegue
。重写此方法以将数据传递到目标ViewController:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "mySegueIdentifier" {
let destinationViewController = segue.destinationViewController as MyDestinationViewController
// pass data to destinationViewController
destinationViewController.myProperty = ...
}
}
答案 1 :(得分:0)
当然你应该只使用一个ViewController。您只需将MapViewController
中的数据传递到ViewController
到performSegue
。并显示它。
此模式称为Master-Detail,您可以在此处找到更多信息:
An iOS 8 Swift Split View Master-Detail Example
答案 2 :(得分:0)
使用prepareForSegue将个人信息传递到同一视图。