![](/img/trans.png)
[英]How to set a delegate view controller class in a “model” component in Swift
[英]Model class data Access the all view controller in swift
嗨,我有两个视图控制器主视图有多个文本字段将文本字段数据保存到模型类中,工作正常,但我的目标是我可以使用模型类数据到多个视图控制器中。 这是我的模特班
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
如何从主视图控制器访问我的模型类数据到其他视图控制器(multipleviewcontroller),
方法1
就像在主视图控制器中一样,在下一个视图控制器中创建变量UserDetails 。 然后将主视图控制器中的UserDetails数组传递给下一视图控制器中的UserDetails数组
let vc = NextViewController()
vc.UserDetails = self.UserDetails
方法2
使用singleton将[PersonalDetails]数组保存为所有视图控制器可以全局访问的数组。 要创建一个单例,请将一个快速文件添加到您的项目中,然后将此代码粘贴到该文件中:
class Singleton {
static let shared = Singleton()
var UserDetails = [PersonalDetails]()
}
然后在您的主视图控制器中,在将所有PersonalDetails对象附加到UserDetails数组后添加此代码:
Singleton.shared.UserDetails = self.UserDetails
因此,在任何视图控制器中,任何时候您都可以使用以下行来调用该数组:
Singleton.shared.UserDetails
因此,UserDetails将保存在Singleton类中,直到您关闭该应用程序为止。 同样,只要您可以随时更改该数组的值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.