如何在两个由UITabBarController分隔的视图控制器之间传递数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在两个由UITabBarController分隔的视图控制器之间传递数据?相关的知识,希望对你有一定的参考价值。

我想将User数据(对象)从LoginVC传递给HomeVC,但是在这两个视图控制器之间,它由UITabBarControllerNavigationController分隔,如下图所示:

我想从此loginVC传递User数据。从这个loginVC,它会将segue推送到main.storyboard,如下图所示

enter image description here

这里是包含标签栏控制器的main.storyboard,在第一个标签栏(index = 0)是HomeVC所在的位置,我把homeVC放在Home.storyboard enter image description here

这是Home.storyboard,在我最终到达HomeVC之前有导航控制器。 enter image description here

那么如何将数据从LoginVC传递到HomeVC?似乎我必须传递数据:LoginVC - > TabBarController - > NavigationController - > HomeVC

我该怎么办 ?

用户数据类似于以下代码:

struct User {
    var username : String
    var firstName: String
    var lastName: String
    var userCode : String
    var address: String
    var phoneNumber: String
    var dateOfBirth: String
    var outlet : Outlet // custom object

    init (dictionary: [String:Any]) {
        username = dictionary["user_name"] as? String ?? ""
        firstName = dictionary["customers_firstname"] as? String ?? ""
        lastName = dictionary["customers_lastname"] as? String ?? ""
        userCode = dictionary["kode_customer"] as? String ?? ""
        address = dictionary["alamat_user"] as? String ?? ""
        phoneNumber = dictionary["customers_telephone"] as? String ?? ""
        dateOfBirth = dictionary["customers_dob"] as? String ?? ""
        outlet = Outlet(dictionary: dictionary)
    }



}

以上是关于如何在两个由UITabBarController分隔的视图控制器之间传递数据?的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationController到UITabBarController

UITabBarController 与我的 splashsceen 并行运行

将 managedObjectContext 传递给 UITabBarController 问题

如何在 Swift 中制作简单的 UITabBarController?

如何自定义 UITabBarController 的“更多”按钮?

在 UITabBarController 中的两个子视图控制器之间转换