码迷,mamicode.com
首页 > 其他好文 > 详细

【非凡程序员】 OC第九节课 (KVC的使用)

时间:2015-05-25 22:39:32      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

今天主要学习了
1.关键字@synthesize
我们使用@property定义属性之后,有时候我们不想定义属性为_开头的参数名,
如果我们想修改这个属性的名称,就可以使用@synthesize关键字来对属性名称进行修改

2.点语法
①可以用作set和get调用
Person *person1=[[Person alloc]init];
person1.name="zhang"; //用法和[person1 setName:"zahng"]一样;
NSLog("name:%",person1.name);
②在CGpoint、CGsize、CGrent的使用中

3.KVC用法(简化代码)
①:Person.m文件中
//通过传进来的属性和属性值进行set和get
-(void ) mainF :(NSString *)key :(NSString *)value {
[self setValue:value forKey:key ];
NSLog("%",[self valueForKey:key]);
}
main.m函数中:
//属性和属性值通过传进去,进行set和get
Person *person1=[[Person alloc]init];
[person1 mainF:"name" :"zhang"];
[person1 mainF:"age" :"66"];
②main.m函数中:
person1.name="zhang";
Dog *dog=[[Dog alloc]init];
dog.name="zangao";
[person1 setDog:dog];

//通过人对象改狗的名字 [person1 setValue:"xiaohei" forKeyPath:"dog.name"]; NSLog("狗名:%",[person1 valueForKeyPath:"dog.name"]);//直接修改人的名字 [person1 setValue:"gaohui" forKeyPath:"name"]; NSLog("人名:%",[person1 valueForKeyPath:"name"]);

【非凡程序员】 OC第九节课 (KVC的使用)

标签:

原文地址:http://my.oschina.net/u/2366900/blog/419829

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!