KVC

//KVC key valve coding (键值编码)

//优点:不用set .get方法给成员变量{}赋值;间接给属性赋值;减少代码量.封装model类

//缺点:编译时不报错,运行时报错

//使用的时候,注意key不要写错

//1.

//如果输出id类型的数据,需要用%@,占位符

//测试kvc是先访问带下划线的属性,如果没有才访问不带下划线的属性

//如果键写错了,编译时不报错,运行时报错

//2.

//间接给属性赋值

//car是people的属性

//name是car的属性

//car需要在people类中初始化

///forKeyPath是关键

//使用valueForKeyPath的时候需要初始化car

//3.

//如果字典中存在该类不存在的属性,要去类的.m中重写不然运行会崩溃

//重写系统的方法(对于多出来的键值对,运行时才不会崩溃)

//- (void)setValue:(id)value forUndefinedKey:(NSString *)key

//对于属性多的model,可批量处理,给属性赋值,减少代码量

//在.m赋值时可调用该方法[self setValuesForKeysWithDictionary:dic];

//4.

//copy和retain的区别

//copy的话,输出不会一致只是copy路径和数据,不会随之更新内容(深)

//retain的话,输出的内容是一致会随着赋值属性内容的改变而改变(浅)

//00000

//如果同时实现了set,get方法,需要在{}中声明_name属性

//成员变量没有实现set,get方法,所以不会调用

//以kvc的方式给属性name赋值,会调用set,get方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iO...
    黑暗中的孤影阅读 49,935评论 74 441
  • KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iO...
    朽木自雕也阅读 1,580评论 6 1
  • KVC简单介绍 KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通过Key...
    公子无礼阅读 1,416评论 0 6
  • 简介 KVC(Key-value coding)键值编码,翻译一下就是指iOS的开发中,可以允许开发者通过Key名...
    6ffd6634d577阅读 1,328评论 1 9
  • KVC(Key-value coding)键值编码,iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,...
    CALayer_Sai阅读 2,539评论 0 4