kvc

作者: OC骑士 | 来源:发表于2017-05-09 16:26 被阅读0次

#import "ViewController.h"

#import "Person.h"

#import "Book.h"

@interface ViewController ()

// 私有属性:用于保存数据

@property (weak, nonatomic) IBOutlet UIView *tempView;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//早期版本  在故事版拖 view ,得到 tempView私有属性

[_tempView setValue:[UIColor redColor] forKey:@"backgroundColor"];

}

/**

kvc 在数组中的应用: 使用 valueForKeyPath: 方法取数组中对象的属性值(通过对象的属性取值)

*/

//kvc 和数组

- (void)kvcAndArray{

//kvc 和数组结合使用

Person *p1 = [Person new];

p1.name = @"RedDog";

Person *p2 = [Person new];

p2.name = @"YellowMonkey";

Person *p3 = [Person new];

p3.name = @"GreenChicken";

//添加到数组中

NSArray *tempArray = @[p1, p2, p3];

NSArray *nameArray = [tempArray valueForKeyPath:@"name"];  //得到数组

NSLog(@"%@",nameArray);

}

/**

kvc 在字典中的应用: 使用字典给对象的属性赋值:  setValuesForKeysWithDictionary:

*/

//kvc和字典

- (void)kvcAndDict{

NSDictionary *dict = @{@"name":@"小可爱",@"age":@18};

//实例化一个 Person 对象

Person *p1 = [Person new];

[p1 setValuesForKeysWithDictionary:dict];

NSLog(@"%@,%d",p1.name,p1.age);

}

/**

kvc 在对象中的应用: setValue: forKey:  /  setValue: forKeyPath:

*/

// kvc 和对象

- (void)kvcAndObject{

//实例化对象

Person *p1 = [Person new];

//使用 kvc 为对象的属性赋值

[p1 setValue:@"小可爱" forKey:@"name"];

[p1 setValue:@18 forKey:@"age"];

//实例化一本书

Book *book = [Book new];

p1.book = book;

//为p1对象的 book 属性中的 bookName进行赋值

[p1 setValue:@"LittleYellow" forKeyPath:@"book.bookName"];

NSLog(@"%@,%d,%@",[p1 valueForKey:@"name"],[[p1 valueForKey:@"age"]intValue],[p1 valueForKeyPath:@"book.bookName"]);

}

@end



//总结:setValue: forKey:  用于属性名

//      setValue: forKeyPath:  用于复合路径

相关文章

  • KVC详解

    KVC 目录结构KVC定义KVC取值和设置KVC使用keyPathKVC处理字典KVC作用 参考:iOS KVC和...

  • iOS原理篇(二): KVC实现原理

    KVC实现原理 什么是 KVC KVC基本使用 KVC 原理 总结 一 、 什么是KVC KVC的全称是Key-V...

  • iOS 关于KVC的一些总结

    本文参考: KVC官方文档 KVC原理剖析 iOS KVC详解 KVC 简介 KVC全称是Key Value Co...

  • KVC,KVO

    KVC , KVO KVC和KVO的区别及应用 KVC/KVO原理 1. KVC键值编码 KVC,即是指NSKey...

  • iOS 关于KVC的一些总结(转)

    原文:iOS 关于KVC的一些总结 本文参考: KVC官方文档 KVC原理剖析 iOS KVC详解 KVC 简介 ...

  • OC语法:KVC的底层实现

    一、KVC是什么二、怎么使用KVC三、KVC的底层实现四、KVC常见面试题 一、KVC是什么 KVC全称Key-V...

  • 19.iOS底层学习之iOS底层学习之KVC

    本篇提纲1、KVC的基本介绍2、KVC的API3、KVC的写入过程4、KVC的读取过程5、自定义KVC KVC的基...

  • iOS【KVC&KVO】

    kvc 1. KVC 1.1 KVC概念 KVC全称是Key Value Coding,定义在NSKeyValue...

  • ios开发UI篇—Kvc简单介绍

    一、KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC...

  • KVC的简单使用

    KVC字典转模型 KVC 中经常使用的就是字典转模型 KVC的大招 KVC设置对象属性及取值 KVC间接设置对象属...

网友评论

      本文标题:kvc

      本文链接:https://www.haomeiwen.com/subject/auobtxtx.html