您好我有两个 View Controller 主视图有多个文本字段我将文本字段数据保存到模型类中,工作正常但我的目标是我可以将模型类数据用于多个 View Controller 。 这是我的模型类
class PersonalDetails
{
private var _email:String?
var email:String! {
get {
return _email
} set {
if newValue != nil && newValue != ""{
self._email = newValue
}
}
}
init(email:String?) {
self._email = email
}
in mainview controller
var UserDetails = [PersonalDetails]();
Above viewdidload
UserDetails.append(PersonalDetails.init(email: signup_TxtEmailId.text ,fullName:signup_TxtFullName.text, phoneNumber: getNewMobileString))
inside button action I'm performing this one
如何从主视图 Controller 访问我的模型类数据到其他 View Controller (多 View Controller ),
最佳答案
方法一
在下一个 View Controller 中创建一个变量UserDetails,就像在主视图 Controller 中所做的那样。然后将主视图 Controller 中的 UserDetails 数组传递给下一个 View Controller 中的 UserDetails 数组
let vc = NextViewController()
vc.UserDetails = self.UserDetails
方法二
使用单例将 [PersonalDetails] 数组保存为所有 View Controller 都可以全局访问。要创建单例,请将一个 swift 文件添加到您的项目并将此代码粘贴到该文件中:-
class Singleton {
static let shared = Singleton()
var UserDetails = [PersonalDetails]()
}
然后在您的主视图 Controller 中,在将所有 PersonalDetails 对象附加到 UserDetails 数组后添加:-
Singleton.shared.UserDetails = self.UserDetails
所以从任何 View Controller ,任何时候你都可以使用这一行调用该数组:-
Singleton.shared.UserDetails
因此 UserDetails 将保存在 Singleton 类中,直到您关闭应用程序。此外,您还可以随时更改该数组的值
关于ios - 模型类数据快速访问所有 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51281405/