【发布时间】:2018-12-26 07:13:13
【问题描述】:
我想将User 数据(对象)从LoginVC 传递给HomeVC,但是在这两个视图控制器之间,它被UITabBarController 和NavigationController 分开,如下图所示:
我想从这个 loginVC 传递User 数据。从这个 loginVC 中,它会将 segue 推送到main.storyboard,如下图所示
这里是包含标签栏控制器的main.storyboard,在第一个标签栏(索引= 0)是HomeVC所在的位置,我把homeVC放在Home.storyboard
这里是Home.storyboard,在我最终到达 HomeVC 之前有导航控制器。
那么如何将数据从 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)
}
}
【问题讨论】:
-
您是如何导航到 LoginVC 到 mainTabbarVC 的,您可以发布代码
-
不要从多个控制器传递
User数据,而是将User数据存储在UserDefault中,然后在您想要的控制器中访问这些数据。
标签: ios swift uinavigationcontroller uitabbarcontroller