关于swift项目中的字典转模型的思考
总结:swift2.1语法之中并没有像oc的运行时的概念,因此,像oc那样使用运行时黑魔法来进行字典转模型在swift中或多或少遇到了坑,可以混合使用,但是在swift模式下复杂字典的转模型中,没有了oc那样的优势,因此,建议的做法是要么model层全部使用oc来写,要么使用老套的,中规中矩的KVC来进转model。
在使用oc中赫赫有名的mjextension来进行字典转模型,总是会遇到nsarray和swift下的array不匹配的问题,这种问题出现的地方还不少,尤其是在复杂的字典下,这种报错原因出现的概率更加大。解决了一处,还有其他的,因此,虽然其转换效率在oc中是数一数二的,但是在swift模式下,使用起来就不是那么得心应手了。
然后开始搜集资料,进行swift版本的字典转模型、数组字典转模型的方法的封装,但是经过深入研究就会发现,其思想还是利用oc的运行时机制来进行高效率的转model,而swift2.1中是没有运行时这一概念了,几经周折后,结果还是和使用mjextension的结果一样,无奈,还是使用了中规中矩的KVC来字典转模型,字典数组转模型。
测试demo地址:[https://github.com/qtds8810/18-MJExtension]