美文网首页IOS
KVC键值编码

KVC键值编码

作者: hAo_JS | 来源:发表于2016-10-19 16:29 被阅读0次

运行循环(runLoop) —自动释放池滚动视图丶(NSTimer)

>全称是Key-Value coding即是键值编码,它提供了一种使用字符串而不是访问对象中的set方法去访问一个对象属性的机制;

> KVC是OC语言动态运行时机制(runTime)的一种体现,任何NSObject类型的对象都支持KVC

>常用核心方法:

//通过key(成员变量的名称)

设置value(成员变量的值)

- (void)setValue:(id)valueforKey:(NSString*)key;


//通过key(成员变量的名称)获取value(成员变量的值)

- (id)valueForKey:(NSString*)key;


//通过键值对的形式给成员变量赋值

- (void)setValuesForKeysWithDictionary:(NSDictionary*)keyedValues;


//通过此方法防止出现未定义的key(成员变量的名称)的时候出现崩溃

//一般情况下,使用KVC操作,推荐将方法重写!!!(防止有及个别数据,是有其他字段)

- (void)setValue:(id)valueforUndefinedKey:(NSString*)key;


特殊字符处理:

@property(nonatomic,strong)NSString*description;

@property(nonatomic,strong)NSString*id;


方式一:

//重写setvalue:forkey:方法

- (void)setValue:(id)valueforKey:(NSString*)key{

if([keyisEqual:@"description"]) {

//原本description属性的改为desc

_desc = value;

}else{

[supersetValue:valueforKeyPath:key];

}

}


方式二:

//重写setvalue:forUndefinedkey:方法

//另外一个好处,防止程序崩溃(某些字典中会多出一个值等问题)

- (void)setValue:(id)valueforUndefinedKey:(NSString*)key{

}

//在创建模型对象的时候,手动赋值

DataModel *model =

[[DataModel alloc] init];

//原本为description属性改为desc

model.desc =

dict[@“description”];

相关文章

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

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

  • iOS 键值编码 KVC

    KVC KVC -- Key Value Coding 键值编码 键值编码的基本概念键值编码是一个用于简介访问对象...

  • OC-KVC

    KVC是什么 kvc就是Key-Value Coding(键值编码)。 键值编码是NSKeyValueCoding...

  • iOS中的KVC与KVO,NSNotification通知

    问题: 什么是键值编码KVC,键路径是什么? 什么是键值观察KVO? 键值编码KVC: 键值编码是一种在NSKey...

  • iOS开发--KVC

    KVC键值编码 首先我们先了解下什么是KVC:KVC:Key Value Codeing 键值编码,ios提供的一...

  • iOS 基础知识(面试)深度理解-- 不断更新

    什么是KVC,什么是KVO,他们之间关系.底层实现 键值编码 Key-Value-Coding(KVC) 键值编码...

  • UI(二十三)KVC和KVO

    #pragma mark---KVC--- KVC:key(键)-value(值)-code(编码) 键值编码-...

  • iOS- KVC和KVO

    #pragma mark---KVC--- KVC:key(键)-value(值)-code(编码) 键值编码->...

  • 16、KVC原理分析

    KVC称为:Key Value coding , 键值编码, 键值编码:由NSKeyValueCoding 非正...

  • iOS底层系列26 -- KVC

    KVC定义 KVC的全称是Key-Value Coding,中文就是我们所熟知的键值编码,键值编码是NSKeyVa...

网友评论

    本文标题:KVC键值编码

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