【KVC补充 Objective-C语言】
一、KVC补充
好,那么接下来,再给大家说一下这个KVC
1.首先我们说,这个KVC,就是指的什么
key value coding
吧
全称就是叫做(Key Value Coding),这是它的全称
那么,你在帮助文档里面搜的时候,你就搜key-value coding
是不是这个啊,key-value coding
然后点击,进来
这些都是关于KVC的一些基本介绍
2.然后我们介绍一下这个KVC里面常用的一些方法
首先,新建一个项目
name:演示KVC常用方法
哦,我们这是个iOS程序吧,没有必要用iOS程序
我们用一个Mac程序,就OK了
好,我们首先给大家新建一个类
新建一个Dog类
这是不是一条,狗吧
等会儿再Person,马上就Person了
狗是不是有个name,有个名称吧,额,品种
好,再建一个人,Person类
人是不是养了一条狗
好,人是不是有名称、有姓名吧
这是人的姓名,
人是不是养了一条狗
导入“Dog”类的头文件
好,人里面养了一条狗
那么,接下来,注意看,
main.m文件里面
这里面
创建一个人对象
创建一条狗对象
这个人的姓名呢,叫“张三”
然后呢,再来一条狗
叫什么,chihuahua
然后呢,让我们的这个p1.dog,是不是等于这个chihuahua
p1.dog = chihuahua;
当然,我得先让这个狗,有个名字
chihuahua.name = @“吉娃娃”;
好,然后,接下来,我们这里赋完值以后,当然,下面问都不需要问,
我下面直接这么打印
NSLog(@“%@—%@“,p1.name,p1.dog.name);
肯定是一个是张三,一个是吉娃娃
是不是
是不是,这个人叫张三,它有一条狗,叫吉娃娃
好,这是我们正常的一种用法
好,然后,接下来,就给大家演示一下,这儿的这几个常见用法
我们首先给大家演示的是,创建一个类,通过我们普通写代码的方式,为这些对象赋值
接下来,演示一种,通过KVC的方式,
为对象的属性赋值
setValuesForKeys
这个方法
比如说,我们给大家,回来,
1)先新建一个这么一个字典
上面是
//直接为对象的属性赋值
下面是
//通过kvc的方式为对象赋值
比如说,我希望为这个p1 setValuesForKeys
我们可以用这个setValue forKeyPath
第一个和第二个
1)forKey:
2)forKeyPath
基本上是一样的
但是forKeyPath
功能要比第一个强大
怎么强大呢
等会儿再说
我们现在是不是要,我们现在先一个一个调这个方法,给它赋值,forKeyPath
调这个方法,为它属性赋值,keyPath
p1 setValue:(id) forKeyPath:(NSString *)
1)那么,第一个参数,(id),是一个什么值呢,叫做@“李四”
是不是要给它赋值一个@”李四“啊
然后,给哪个属性赋值呢
2)第二个参数,forKeyPath:(NSString *)
p1的哪个属性,赋值@“李四”呢
@“name”
给p1的name属性,赋值一个@“李四”
额,再来一个age吧
叫什么,assign
@property(nonatomic,assign)int age;
好,再给它来一个,赋个年龄
p1 setValue:(id) forKeyPath:(NSString *)
年龄,注意
我们这个对象里面,不能直接保存我们的普通的数据吧
给它来个什么
来个@10,这样的话,是不是转成对象类型了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/805856.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!