/// 基本信息协议
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:[:])

  

 

posted on 2020-04-16 17:04  懂事长qingzZ  阅读(299)  评论(0编辑  收藏  举报