Object-c KVC的使用和举例
2024-09-16 06:10:01
如果我们的对象需要使用KVC,必须符合object-c的非正式协议NSKeyValueCoding.我们可以简单的来理解KVC,即所有符合KVC机制的对象都看成一个字典(NSDictionary),对象里面的成员量都是以键值配对的形式存放的,当我们需要为对象存值时,使用“setValue: froKey:”的方法;而当取对象时,使用valueForKey:的方法。
对于对象中成员量的键值配对,所谓的“键”其实是NSString类型的字符串,他们所对应的值也都是一个id类型的对象。
定义一个足球运动员类
@interface footballer : NSObject @property (nonatomic,retain) NSString *name;
//@property (nonatomic,retain) NSMutableArray *members;
@end @implementation footballer
@synthesize name;
//@synthesize members;
注:程序中通过@synthesize指令告诉编译器在编译期间产生getter /setter方法
对于足球运动员的对象,我们如果要知道他的名字,就可以将name作为键来取值,代码如下:
footballer *aPlayer=[[footballer alloc]init];
aPlayer.name=@"Rual";
//footballer *bPlayer=[[footballer alloc]init];
//[bplayer.members addObject:aPlayer.name];
NSLog(@"name: %@",[aPlayer valueForKey:@"name"]);
最新文章
- Integer.parseInt 引发的血案
- python多线程ssh爆破
- Java构建
- HTML框架与布局
- [shell基础]——I/O重定向
- IT项目管理的六种错误思维
- jcarousellite 实现图片列表滚动
- ajax验证用户名和密码
- POJ 3342 Party at Hali-Bula / HDU 2412 Party at Hali-Bula / UVAlive 3794 Party at Hali-Bula / UVA 1220 Party at Hali-Bula(树型动态规划)
- C++ Random 的使用
- jQuery循环
- python, ImageFont
- Linux 下 rt3070 无线网卡找不到 firmware 问题
- cordova 插件 调用iOS社交化分享(ShareSDK:微信QQ分享)
- JavaScript 入门笔记
- zookeeper 启动显示started,jps查看进程却没有,解决方法
- 【CF884D】Boxes And Balls 哈夫曼树
- 139. Word Break (String; DP)
- Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
- c#打印(转)