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

Swift passing data between Nav and Tab Controller

viewcontrollerB 是导航控制器的根视图,同时也是选项卡视图控制器的第一个视图。如何通过导航和选项卡控制器将数据从初始 viewA 传递到 ViewB ?谢谢

Storyboard

为您的标签栏控制器提供自定义 class,例如 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()

在您的主表视图控制器中:

    override func viewWillAppear(animated: Bool) {

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

    print("the text is",someVariable)


}