当先锋百科网

首页 1 2 3 4 5 6 7

一、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,这样的话,是不是转成对象类型了