Swift在Nav和Tab Controller之间传递数据

时间:2016-05-04 01:22:46

标签: swift uinavigationcontroller uitabcontroller

viewcontrollerB是导航控制器的根视图和标签视图控制器的第一个视图。如何将数据从初始viewA传递到导航和制表符控制器到ViewB?感谢

Storyboard

1 个答案:

答案 0 :(得分:0)

为标签栏控制器提供一个自定义类,例如MyTabBarController,并在那里声明一个变量,该变量将从登录视图控制器中的文本字段接收文本(通过prepareForSegue)。然后,您将能够从主视图控制器访问该变量。

在登录视图控制器中:

    @IBAction func ButtonPressed(sender: AnyObject) {

    performSegueWithIdentifier("toTabBarController", sender: nil)

    }

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

        if let tabBarController = segue.destinationViewController as? MyTabBarController{

        tabBarController.someVariable = someTextField.text!

        }

    }
标签栏控制器中的

var someVariable = String()

在你家的tableview控制器中:

    override func viewWillAppear(animated: Bool) {

        let tabBarController = self.tabBarController as! MyTabBarController
        someVariable = tabBarController.someVariable

    print("the text is",someVariable)


}