/// 基本信息协议 protocol PersonInfoProtocal { /// 员工基本信息 var name: String {set get} /// 年龄 var age: String {set get} } //模型 struct PersonStruct:PersonInfoProtocal{ var name: String = "" var age: String = "" init(dict:[String:Any]) { name = dict["name"] as? String ?? "" age = dict["name"] as? String ?? "" } }
1.如果在控制器controller1使用的时候设置为可选, 没有初始化,
var personInfo : PersonInfoProtocal?
其他界面跳转此界面数据赋值的时候, 永远为空
let vc =PersonVC() vc.personInfo = self.personInfo self.navigationController?.popViewController(ainmation:false)
正却写法
var personInfo : PersonInfoProtocal? = PersonStruct(dict:[:])