我想将User
的数据(对象)从LoginVC
传递到HomeVC
,但是在这两个视图控制器之间,它们由UITabBarController
和{{1}隔开},如下图所示:
我想传递来自此loginVC的NavigationController
数据。通过该loginVC,它将segue推送到User
,如下图所示
这是包含标签栏控制器的main.storyboard
,在第一个标签栏(索引= 0)是HomeVC所在的位置,我将homeVC放在了main.storyboard
中
这里是Home.storyboard
,在我最终到达HomeVC之前,有一个Navigation控制器。
那么如何将数据从LoginVC传递到HomeVC?看来我必须从以下位置传递数据:LoginVC-> TabBarController-> NavigationController-> HomeVC
我该怎么办?
用户数据类似于以下代码:
Home.storyboard
答案 0 :(得分:0)
UITabBarController按选项卡索引的顺序维护视图控制器的数组。
https://developer.apple.com/documentation/uikit/uitabbarcontroller/1621185-viewcontrollers
同样,UINavigationController也可以维护控制器堆栈。
因此,您只需要从数组中获取视图控制器的对象(通过强制类型转换)并传递数据即可。
答案 1 :(得分:0)
用户数据是导入的,应考虑将用户数据保存在本地文件中,然后可以在任何地方获取用户数据。
答案 2 :(得分:0)
UITabBarController类包含一个ViewControllers数组。
您可以使用UITabBarController内任何视图控制器内的常规索引来访问第一个ViewContoller:
self.tabBarController?.viewControllers[0]