传递导航控制器后面的数据

时间:2015-02-04 22:18:33

标签: ios swift uinavigationcontroller

您好我有4个视图控制器 MainVC ----> NavBar ----> MyViewController -----> UIWebView中

在基于segue的MainVC中,我想为tableview控制器设置不同的数据。这是我的准备方法

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {


  var navController =  segue.destinationViewController as UINavigationController
  var HVController =  navigationController?.viewControllers[0] as MyViewController
  HVController.somevar = "Something"
}

然而程序崩溃了。如何将数据从MainVC传递到MyViewController?感谢。

编辑:我发现代码应该是我的愚蠢错误

var HVController =  navController.viewControllers[0] as MyViewController

抱歉浪费你的时间。

1 个答案:

答案 0 :(得分:0)

首先,您必须在Target ViewController(MyViewController)中添加一个变量。

例如:

var passValue:String!

然后,您可以将值从当前ViewController传递到目标:

if segue.identifier == "yourSegueIdentifier" {
  (segue.destinationViewController as MyViewController).passValue = yourObjectToPass
}