Ios Swift获取对不同VC中的类的引用
我有两个不同的Ios Swift获取对不同VC中的类的引用,ios,xcode,uiviewcontroller,swift,Ios,Xcode,Uiviewcontroller,Swift,我有两个不同的uiviewcontrollera,让我们称它们为ViewControllerA.swift和ViewControllerB.swift。在我的故事板中,我创建了一个带有两个选项卡的TabViewController,这两个选项卡都是VC。现在,当我加载ViewControllerB时,我想获取一些存储在ViewControllerA变量中的数据,但是如何获取对ViewControllerA类的引用呢 我知道使用此代码 var vcA : ViewControllerA = Vie
uiviewcontrollera
,让我们称它们为ViewControllerA.swift
和ViewControllerB.swift
。在我的故事板中,我创建了一个带有两个选项卡的TabViewController
,这两个选项卡都是VC。现在,当我加载ViewControllerB
时,我想获取一些存储在ViewControllerA
变量中的数据,但是如何获取对ViewControllerA
类的引用呢
我知道使用此代码
var vcA : ViewControllerA = ViewControllerA()
我正在创建一个新的ViewControllerA
实例,它不是我想要的。还有没有segue
,在这种情况下,我可以通过prepareforsgue
传递引用
提前感谢
UITabBarController
有一个属性viewControllers
。您可以如下方式访问viewController中的tabBarViewController:
更新:
// 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]
如何从viewControllers阵列访问
ViewControllerA
?类似于viewControllers[0]
?是的,取决于ViewControllerA和ViewControllerB的顺序。在您的代码中ViewControllerB
在自身的实例中?我只能使用ViewControllerB()
访问tabBarController,如何获取其自身的当前引用?在ViewControllerB
中,我将此var vc:ViewControllerA=self.tabBarController.viewControllers[0]用作ViewControllerA
,但它崩溃了,说在展开时发现为零。这不是你建议的那种代码吗?首先。。。视图或控制器层不是用来存储数据的——因此,如果您还没有正确实现模型层,则可能需要正确地实现模型层。