Objective-C语法之KVC的使用

2014-11-24 11:27:55 ? 作者: ? 浏览: 1

除了一般的赋值和取值的方法,我们还可以用Key-Value-Coding(KVC)键值编码来访问你要存取的类的属性。


下图来自苹果官网:



如何使用KVC存取对象属性呢 看个示例


1、使用KVC


定义一个Student类,继承于NSObject。


.h文件


.m文件


.m文件也没有实现。name属性没有加property,原来的访问方法就访问不了name属性了。怎么办呢?用kvc就可以了


打印结果:


2012-07-20 15:04:09.920 objectiveC[1977:403] 学生姓名:张三


张三 这个值存进去了,通过valueForKey取出来了。


如果存的时候key和类属性的名称不一致会怎么样呢?


代码改成


[student setValue:@"张三" forKey:@"name1"];


运行,程序崩溃 ,打印:


2012-07-20 15:09:40.432 objectiveC[2069:403] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name1.'


提示没有这个name1 这个key。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: