快速将数据从TabBarController传递到TableViewController

时间:2019-02-07 10:47:28

标签: swift swift3 segue

我迷失了这个主题。 我已经实现了一个Tab Bar Controller,它通过segues链接到3 TableViewController。 在Tab Bar Controller的类中,我具有一系列变量,我希望将这些变量从Tab Bar传递到每个TableView。 总之,我不知道如何使用segues将变量从选项卡栏传递到表视图。

enter image description here

我在TabBarController.swift中尝试了此功能:

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if let destinoController = segue.destination as? TableView1_Controller {

            destinoController.user = user
            destinoController.id = id
            destinoController.name = name

        }
    }

但这根本不起作用。

我有点(漂亮)迷路了

2 个答案:

答案 0 :(得分:0)

您需要在代码下面,在点击事件中,您单击该事件以移动到下一个视图控制器,在发件人中,您需要传递详细信息,然后在prepareForSegue方法中,您从发件人处获取了详细信息< / p>

self.performSegue(withIdentifier: "Your Identifier", sender: [AnyObject]())

答案 1 :(得分:0)

如果在情节提要中连接了主题,则可以为其指定一个标识符。

为此,您必须单击segue,然后签入Attribute Inspector。

enter image description here

现在,在您的prepareForSegue方法中,您只需要检查它是从哪个序列触发的即可:

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "yourSegueId" {
            if let destinationController = segue.destination as? TableView1Controller {
                destinoController.user = user
                destinoController.id = id
                destinoController.name = name
            }
        }
    }

编辑:看看这个答案:Pass data tab bar