搜索
当前位置: sk彩票 > 对象字典 >

ios不用kvc怎么字典转模型

gecimao 发表于 2019-06-06 07:58 | 查看: | 回复:

  字典 : 通过字符串类型的key取值.(一般情况下,设置数据和取出数据都使用字符串类型的key,编写这些key时,编译器不会有任何友善提示,需要手动敲写.手动敲写字符串key,key容易写错,且如果写错,编译器不会有任何警告和报错,容易造成设错数据或者取错数据)

  所谓模型,其实就是数据模型, 专门用来存放数据的对象,用它来表示会更加专业.

  模型设置数据和取出数据都是通过它的属性, 属性名如果写错,编译器会马上报错,因此保证了数据的正确性.

  字典转模型应该提供一个可以传入字典参数的构造方法. 一般提供如下两个方法(一个对象方法和一个类方法) , 为了与苹果公司原代码保持一致性,方法名称尽量模仿苹果公司规范来书写.

  instancetype:在类型表示上,跟id一样,可以表示任何数据类型;

  instancetype只能用在返回值类型上,不能像id一样用在参数类型上;

  根据数据字典的键值对,创建对应的数据模型. 在.h文件中声明模型属性及方法 .如下

  4 assign: set方法的实现是直接赋值,不进行任何retain操作,为了解决原类型与循环引用问题,一般用于基本数据类型;

  7 nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能.如果不加此属性,则默认两个访问方法都为原子型事物访问.锁被加到所属对象实例级.set方法的实现不加锁(比atpmic性能高).

  但是KVC的使用是有条件的 ; 由于KVC会将字典所有的键值对(key-value)赋值给模型对应的属性.只有当字典的键值对个数跟模型的属性个数相等,并且属性名必须和字典的键值对一样时才可以使用KVC.

本文链接:http://moodyjews.net/duixiangzidian/554.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部