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时代的产物。我现在觉得还是很有必要的,利大于弊。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有了傅里叶变换,为什么又要来一个拉普拉斯变换?又既然是信号与系统,就要从两个方面加以叙述。 ①对信号来说,等幅的正...
    夏夜明阅读 2,378评论 0 1
  • 奔跑在圆形的轨道上何时才到终点终点在哪里 为了寻找生活的快乐我奔跑在生活中何时寻觅到快乐快乐在哪里 有人说快乐是你...
    Caesar丶DL阅读 257评论 0 1
  • 我丢手机了,那部我一直当作替补的手机。 它没有苹果的昂贵,没有三星的赫赫名威。 它只不过是一部国产的, 平日里我瞧...
    夜舞的飞蛾阅读 158评论 0 0
  • 我决定,工作之余,每天抽出时间,来绘制一个小物件,磨练技艺的同时,也可以消除沮丧的情绪。 至于作品,不管自己喜不喜...
    小猪崽崽阅读 212评论 1 3