swift4.0中模型转字典

1.怎么实现模型转字典呢?R-U-N-T-I-M-E

import Foundation
extension NSObject{
    /// 我们只要调用这个方法就好了.
    /// 通过字典设置属性值(运用场景,可以用来实现模型转字典的)
    ///
    /// - Parameter dic: [属性名:属性值]
    /// - Returns: 是否设置成功
    func setValueOfProperty(dic:[String:String])->Bool{
        let allPropertys = self.propertyList()
        for key in allPropertys {
            self.setValue(dic[key], forKey: key)
        }
        return true
    }
    /// 获取属性值
    ///
    /// - Returns: 返回获取到的属性值数组
    func getValueOfProperty()->[String]{
        let allPropertys = self.propertyList()
        var values = [String]()
        for key in allPropertys {
            let val = self.value(forKey: key) as? String ?? ""
            values.append(val)
        }
        return values
    }
    ///[使用运行时]获取当前类所有的属性数组
    func propertyList() -> [String] {
        var count :UInt32 = 0
        //获取‘类’的属性列表
        guard let list = class_copyPropertyList(self.classForCoder, &count) else{
            return []
        }
        var arr = [String]()
        for i in 0..

你可能感兴趣的:(swift4.0中模型转字典)