Ios 从ViewController切换到TabBarController的第一个选项卡

Ios 从ViewController切换到TabBarController的第一个选项卡,ios,swift,uitabbarcontroller,swift3,Ios,Swift,Uitabbarcontroller,Swift3,我已经创建了一个选项卡式应用程序。在第一个选项卡(ViewController+TableView)中,它显示了从数据库中获取的结果。我有一个按钮,可以打开另一个ViewController,用户可以在其中过滤结果(例如“城市”) 现在,如何使用segue返回到第一个选项卡页面?因为我需要传递参数以便对DB进行查询。如果我在该页面和第一个ViewController之间创建一个segue,它不会显示选项卡式菜单 谢谢大家。我想你们想要实现的是将数据从一个选项卡传递到另一个选项卡 “现在,我如何使

我已经创建了一个选项卡式应用程序。在第一个选项卡(ViewController+TableView)中,它显示了从数据库中获取的结果。我有一个按钮,可以打开另一个ViewController,用户可以在其中过滤结果(例如“城市”)

现在,如何使用segue返回到第一个选项卡页面?因为我需要传递参数以便对DB进行查询。如果我在该页面和第一个ViewController之间创建一个segue,它不会显示选项卡式菜单


谢谢大家。

我想你们想要实现的是将数据从一个选项卡传递到另一个选项卡

“现在,我如何使用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!!"
}
第二视图控制器:

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)
        }
    }
}

我希望这会有所帮助。

我认为您想要实现的是将数据从一个选项卡传递到另一个选项卡

“现在,我如何使用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!!"
}
第二视图控制器:

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)
        }
    }
}

我希望它能帮上忙。

你需要使用一个放松序列才能返回。你需要使用一个放松序列才能返回。这不是我的意思。。我使用了“放松”segue,它可以工作!:)谢谢你我不是这个意思。。我使用了“放松”segue,它可以工作!:)非常感谢。