iOS JSON转模型,第三方库与系统,速度谁快?

看完,不知道你会有什么想法?

 

先上一张图:(单位:秒*1000,为了方便画图)

yyM是yymodel,

mjE是mjextention,

na1是系统的:[self setValuesForKeysWithDictionary:dic];

na2是???

 

在9次随机次数的测试中:

mjE是耗时最长的。

其次,是na1。

yyM则比前两者都要快。(其中一个原因是:yyM对模型信息有做缓存。)

那na2是什么?为什么比yyM还要快一倍???

 

na2就是:直接从字典里面取值,然后赋值。

 

    PersonModel *p1 = [[PersonModel alloc] init];
    p1.ID = dic[@"id"];
    p1.name = dic[@"Name"];
    p1.age = [dic[@"Age"] integerValue];
    p1.sex = dic[@"sex"];
    p1.fav = dic[@"fav"];
    p1.dog = dic[@"cat"];


但是,能用一行代码解决问题,为什么要用这么多行代码呢?

 

是啊,要是模型里面有二三十个属性,再给你三四十个模型,你还会这样取值赋值取值赋值吗?

毕竟,JSON转模型,10000次的实际时间:

yyM只用了0.01743

mjE只用了0.47760

na1只用了0.04905

na2只用了0.00755

 

测试数据,仅供参考。

所以,你会如何选择呢?

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豪冷啊

你的鼓励是对我的认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值