从ViewController查看到TabBarController

时间:2016-11-12 22:22:16

标签: ios swift uitabbarcontroller swift3

我已经创建了一个标签式应用程序。在第一个选项卡(ViewController + TableView)中,它显示了从DB获取的结果。我有一个按钮可以打开另一个ViewController,用户可以在其中过滤结果(例如,#34; city")。

现在,如何返回带有segue的第一个标签页?因为我需要传递参数才能对DB进行查询。如果我在这个页面和第一个ViewController之间创建一个segue,它就不会显示标签菜单。

谢谢你们。

1 个答案:

答案 0 :(得分:0)

我认为你想要实现的是将数据从一个标签传递到另一个标签。

"现在,如何返回带有segue的第一个标签页 因为我需要传递参数才能对DB进行查询。 "

实际上,您不必执行segue传递数据,而是可以执行以下操作:

// somewhere in your code when you need to pass data to another tab viewController:
if let tabBarController = tabBarController {
    let secondTabViewController = tabBarController.viewControllers![1] as! SecondViewController
    // let's assume that you want to pass a string
    secondTabViewController.str = "my str!!"
}

SecondViewController:

class SecondViewController: UIViewController {
    // here is the string that had been passed from the first tab viewController:
    var str:String?

    override func viewDidLoad() {
        super.viewDidLoad()

        // note that the output is: "Optional("my str!!")"
        print(str)

        // do optional binding:
        if let unwrappedStr = str {
            // output is: "my str!!"
            print(unwrappedStr)
        }
    }
}

我希望它有所帮助。