• swift 协议protocol传值 遇到的坑


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

      

  • 相关阅读:
    编译错误总结。
    9.7
    9.5
    9.6
    9.4
    9.3
    FutureTask取结果超时代码小测试
    java concurrent包常用类小结
    java Nio零散知识点整理
    java进阶教程unit_2java常用类(2)
  • 原文地址:https://www.cnblogs.com/qingzZ/p/12714071.html
Copyright © 2020-2023  润新知