【KVC补充 Objective-C语言】

一、KVC补充


好,那么接下来,再给大家说一下这个KVC

1.首先我们说,这个KVC,就是指的什么

key value coding

全称就是叫做(Key Value Coding),这是它的全称

那么,你在帮助文档里面搜的时候,你就搜key-value coding

是不是这个啊,key-value coding

然后点击,进来

这些都是关于KVC的一些基本介绍

2.然后我们介绍一下这个KVC里面常用的一些方法

首先,新建一个项目

name:演示KVC常用方法

【KVC补充 Objective-C语言】_第1张图片

哦,我们这是个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,这样的话,是不是转成对象类型了

你可能感兴趣的:(Objective-C,objective-c,cocoa,macos)