2014-09-05 48 views
-1

我有2个不同的UIViewControllers,我们姑且称之为ViewControllerA.swiftViewControllerB.swift。在我的故事板中,我创建了一个带有2个标签的TabViewController,即2个VC。现在,当我打开ViewControllerB我想获得存储在ViewControllerA变量的一些数据,但我怎么能拿引用ViewControllerA类?斯威夫特获取参考一类在不同的VC

知道,使用此代码

var vcA : ViewControllerA = ViewControllerA() 

我创建的ViewControllerA一个新实例,它的我想要什么。也有no segue,在这种情况下,我可以通过prepareForSegue通过参考。

在此先感谢

+0

首先... ...的_view_或_controller_层不用于存储数据 - 因为有_model_图层,您必须正确实施,也许,如果您尚未完成。 – holex 2014-09-05 09:43:25

回答

0

UITabBarController有一个属性viewControllers。您可以访问tabBarViewController在你的viewController这样的:

更新:

// viewControllers contains ViewControllerB instance itself and ViewControllerA instance 
// say you have vcA and vcB 

// contains vcA 
vcB.tabBarController.viewControllers[0] 

// contains vcB 
vcB.tabBarController.viewControllers[1] 

你还可以说:

// contains vcA 
vcA.tabBarController.viewControllers[0] 

// contains vcB 
vcA.tabBarController.viewControllers[1] 
+0

如何从viewControllers数组访问'ViewControllerA'?像'viewControllers [0]'? – r4id4 2014-09-05 09:26:02

+0

是的,取决于ViewControllerA和ViewControllerB的顺序。 – Hokage 2014-09-05 09:27:27

+0

在你自己的代码中'ViewControllerB'本身的实例?我只能用'ViewControllerB()'访问tabBarController,我怎么能得到它自己的当前引用? – r4id4 2014-09-05 09:37:32