看完,不知道你会有什么想法?
先上一张图:(单位:秒*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
秒
测试数据,仅供参考。
所以,你会如何选择呢?
**
网友评论