swift3.0 运用Runtime实现model转字典

 1 func objectToDic(_ model: WYUserModel) -> [String: AnyObject] {
 2         
 3         var dic = [String: AnyObject]()
 4         var count: UInt32 = 0
 5         let properties = class_copyPropertyList(model.classForCoder, &count)
 6         for index in 0..<Int(count) {
 7 
 8             guard let pty = properties?[index],
 9                 let cName = property_getName(pty),
10                 let name = String(utf8String: cName) else {
11                     continue
12             }
13             if let value = model.value(forKey: name) {
14                 dic.updateValue(value as AnyObject, forKey: name)
15             } else {
16                 let null = NSNull()
17                 dic.updateValue(null, forKey: name)
18             }
19         }
20         free(properties)
21         return dic
22     }

 

转载于:https://www.cnblogs.com/PLA-Artillery/p/6372509.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值