是否可以在不使用segue的情况下从MKAnnotation传递数据并仅显示View Controller?

问题描述:

由于一些奇怪的原因,Xcode在我创建并使用performSegueWithIdentifier("Details", sender: self)时无法识别我的segue。是否可以在不使用segue的情况下从MKAnnotation传递数据并仅显示View Controller?

enter image description here

但我可以用此呈现视图控制器找到解决的办法:

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来传递数据。您只需要一个公共财产/公共方法,您可以使用它来传递数据。