Swift学习之字典转模型
2019-11-06 本文已影响0人
coderhlt
一、方式一:
import UIKit
class Person {
var name: String = ""
var age:Int = 0
init(_ dc:[String:Any]) {
let name = dc["name"] as? String ?? ""
let age = dc["age"] as? Int ?? 0
self.name = name
self.age = age
}
}
二、方式二
class Person:NSObject{
@objc var name: String = ""
@objc var age:Int = 0
init(_ dc:[String:Any]) {
super.init()
self.setValuesForKeys(dc)
}
override func setValue(_ value: Any?, forUndefinedKey key: String) {
}
}
- setValuesForKeys属于oc的接口,因此必须继承NSObject。变量名称前必须用@objc修饰,否则转换不会成功。
三、第三方框架
KakaJSON:JSON-Model相互转换
https://github.com/kakaopensource/KakaJSON