是否可以在不使用segue的情况下从MKAnnotation传递数据并仅显示View Controller?
问题描述:
由于一些奇怪的原因,Xcode
在我创建并使用performSegueWithIdentifier("Details", sender: self)
时无法识别我的segue。是否可以在不使用segue的情况下从MKAnnotation传递数据并仅显示View Controller?
但我可以用此呈现视图控制器找到解决的办法:
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("DetailsViewController") as! UIViewController
self.presentViewController(viewController, animated: true, completion: nil)
我怎样才能从MKAnnotationView
传递数据,新的细节来看,如果我是不是使用segue
? (FUNC prepareForSegue
需要SEGUE来传递数据吗?)
答
//你不得不做出这样的DetailViewController(Class Name)
的对象,而不是viewController
let viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("DetailsViewController") as! DetailViewController
的DetailsViewController
喜欢这个//然后你就可以访问变量:
viewController.parameter = whatever
self.presentViewController(viewController, animated: true, completion: nil)
答
在您赛格瑞无法识别的问题 -
显示/推送段必须由导航控制器执行。
就像Dhaval说的那样,你不必使用segues来传递数据。您只需要一个公共财产/公共方法,您可以使用它来传递数据。