由于某些奇怪的原因,Xcode
在我创建它并使用performSegueWithIdentifier("Details", sender: self)
时无法识别我的segue。
但是我能够通过向视图控制器提供以下内容来找到解决方法:
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("DetailsViewController") as! UIViewController
self.presentViewController(viewController, animated: true, completion: nil)
如果我没有使用MKAnnotationView
,如何将数据从segue
传递到新的详情视图? (func prepareForSegue
需要segue来传递数据吗?)
答案 0 :(得分:2)
//您必须创建DetailViewController(Class Name)
而不是viewController
let viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("DetailsViewController") as! DetailViewController
//然后你可以访问DetailsViewController
像这样的变量:
viewController.parameter = whatever
self.presentViewController(viewController, animated: true, completion: nil)
答案 1 :(得分:0)
关于你的segue未被认可的问题 -
显示/推送segue必须由导航控制器执行。
像Dhaval所说,你不必使用segues来传递数据。您只需要一个可用于传递数据的公共属性/公共方法。