2016-11-12 65 views
1

我创建了一个选项卡式应用程序。在第一个选项卡(ViewController + TableView)中,它显示从DB获取的结果。我有一个打开另一个ViewController的按钮,用户可以在其中筛选结果(例如,针对“城市”)。从ViewController继续到TabBarController的第一个选项卡

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

谢谢你们。

+1

你需要使用一个unwind segue回去 – Paulw11

回答

0

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

“现在,我怎样才能返回到第一标签页用赛格瑞?因为我需要传递,以做一个查询到数据库的参数。

其实,你不“T必须执行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) 
     } 
    } 
} 

我希望它有帮助。

+0

这不是我的意思..我用了Unwind segue,它的工作原理! :) 谢谢 –

相关问题