IOS-自制简单的字典模型转换框架(使用runtime库)

代码示例运行环境为 IOS10,Swift 3.0

github地址:GitHub - ZhangJiming/RainExtension: Simple Dic2Model

本文参考文章,该文章使用OC语言,我是在此基础上使用了Swift3.0,感谢此文章作者 微凉

我是觉得目前关于Swift下的runtime内容比较少,特上传到github上供初学者参考。

在Swift3.0下要使用runtime,并实现字典转模型,需要具备几点:

第一点,模型一定要继承自NSObject类,这样才可能具备运行时的特征。当然也可以使用纯Swift类,然后在类名和属性名称下加@obj修饰符才可,但是我觉得太过于麻烦,又没有保证,还是直接继承自NSObject比较好。

第二点,模型中所有的变量都必须初始化,也就是不能为optianal类型。不然也是不能正常识别的。

第三点,模型中的数据类型是有限制的,例如Swift中的enum、Tuple等都是不可的,但是我没有具体测试过所有的数据类型,我只能说Swift中的String、Dictionary、Array、Bool、Int、Float 都是可以的。

当我再接触Swift之后,我一直犹豫还要不要使用 runtime 这种OC时代的产物。我现在觉得还是很有必要的,利大于弊。

如果有任何疑问或者是文中存在技术性错误,请留言,我会尽快回复或者更改。

你可能感兴趣的:(IOS-自制简单的字典模型转换框架(使用runtime库))