swift 字典转模型

import UIKit

class Person : NSObject {
    
  @objc var age : Int = 0
  @objc var name : String?
    
    //自定义构造函数,参数传入字典  ---> 字典的value本来就是可选类型的
    init(dict : [String : AnyObject]) {
       
        //在调用 setValuesForKeys 方法之前,需要先用 super.init() 创建这个类,才能调用这个类的方法
        super.init()
        
        //本类的方法调用的时候,self可以省略
        setValuesForKeys(dict)
    }
    
    override func setValue(_ value: Any?, forUndefinedKey key: String) {
        
    }
}
//若字典中,多一个height属性,只要不用kvc就不会蹦,为了防止蹦,需要加上  forUndefinedKey 方法。
let p2 = Person(dict: ["name" : "why" as AnyObject, "age" : 18 as AnyObject, "height":1.88 as AnyObject])

if let name = p2.name {
    print(name)
}

print(p2.age)
swift 字典转模型_第1张图片
kvc

你可能感兴趣的:(swift 字典转模型)