标签栏:标签之间的互动

时间:2016-10-25 16:11:56

标签: ios swift delegates uitabbarcontroller

我在应用程序中有一个主TabBarVC,它包含2个标签(2个VC)。

其中一个标签是Map VC(显示谷歌地图)。 它应该如何与VC相互联系。

碰巧,我需要将显示的坐标从First Tab发送到Second(map vc)。

我的第一个想法是创建MapVC类的变量并只呈现它。 但我有TabBarVC,我必须改变selectionIndex:

self.tabBarController?.selectedIndex = 2
是不是?)

它工作正常,我在MapVC类中创建了静态var(lat,lon),在更改selectedIndex之前设置了这个静态变量。更改选项卡后,调用mapVC的viewDidLoad func,我可以在地图上显示位置。好。

问题:如果我将标签更改为第一个并按下按钮(在第二个标签上显示位置),MapVC的viewDidLoad将无法运行,因为已经创建了。我无法调用MapVC的任何函数(第二个标签),因为我没有创建它,它只是一个创建自己的标签..

代表,协议......有什么可以帮到我?

谢谢!

1 个答案:

答案 0 :(得分:1)

在FirstVC的show动作中,获取MapVC:

if let mapVC = self.tabBarController.viewControllers[1] as? YourViewController {
    // you can use public properties of MapVC here
}