OC语法--KVC概念及用法
来源:互联网 发布:哪个软件可以看黄子片 编辑:程序博客网 时间:2024/05/22 05:33
valueForKeyPath:
setValue: forKeyPath:
@class Dog;
@interface Person :NSObject
@property (nonatomic,copy)NSString *name;
@property (nonatomic,assign)int age;
@property (nonatomic,strong)NSArray *books;
@property (nonatomic,strong)Dog *dog;
- (void)printHeight;
@implementation Person
{
@private
double _height;
}
//_height为私有属性,所以没有get,set方法需要内部访问
- (void)printHeight
{
NSLog(@"height是%f",_height);
}
@end
@interface Dog : NSObject
@property (nonatomic,copy)NSString *name;
@end
@interface Book : NSObject
@property (nonatomic,assign)double price;
@property (nonatomic,copy)NSString *name;
@end
Person *p = [[Personalloc]init];
p.name =@"rose";
p.age =20;
[psetValue:@"jack"forKey:@"name"];
[psetValue:@30forKey:@"age"];
//利用KVC可以随意修改一个对象的属性或者成员变量(并且私有的也可以修改)
[psetValue:@"jack"forKeyPath:@"_name"];
[psetValue:@30forKeyPath:@"_age"];
NSLog(@"%d %@", p.age, p.name);
//访问他的私有成员变量
[p setValue:@10.5forKey:@"height"];
[p printHeight];
Person *p = [[Personalloc]init];
p.dog = [[Dogalloc]init];
p.dog.name =@"wangwang";
[p.dog setValue:@"taidi" forKey:@"name"];
[p.dog setValue:@"zangao" forKeyPath:@"name"];
//人调用setvlaue给狗赋值
[p setValue:@"hashiqi"forKeyPath:@"dog.name"];
Person *p = [[Personalloc]init];
Book *book1 = [[Bookalloc]init];
book1.name =@"java程序设计";
book1.price =10.5;
Book *book2 = [[Bookalloc]init];
book2.name =@"IOS程序设计";
book2.price =18.5;
Book *book3 = [[Bookalloc]init];
book3.name =@"鸟语程序设计";
book3.price =20.5;
p.books =@[book1, book2, book3, book4];
// 取出books数组中每一个元素的name属性值,放到一个新的数组中返回
NSArray *names = [pvalueForKeyPath:@"books.name"];
//还有计算和平局值等等函数。其他可以百度
NSNumber *avgNumber = [pvalueForKeyPath:@"books.@avg.price"];
NSNumber *sumNumber = [pvalueForKeyPath:@"books.@sum.price"];
- OC语法--KVC概念及用法
- OC语法 --- KVC
- OC基础:属性.点语法.KVC
- OC语法之KVC与KVO
- oc 点语法 / KVC /readwrite/readonly/
- ios笔记--oc语法2 (KVC)
- OC第八天 属性 点语法 KVC
- OC初期-08 属性,点语法,KVC
- OC循环渐进:KVC基本用法
- OC-KVC
- OC --- KVC
- OC KVC
- KVC OC中键值编码的概念和使用方法
- OC 属性的属性 点语法的使用 KVC
- OC高级语法之KVC和KVO的学习
- 随意细解:OC -- 属性、点语法、KVC
- 进击的KFC:OC(八)属性、点语法、KVC
- OC语法--nil、 Nil、 NULL 、NSNul用法及OC异常处理
- p122 第三章 第10题 潘璠
- xmanager3.0 license key
- IOS学习 convertPoint的实验
- 百度地图的两个问题以及解决方案
- 顺序栈的基本操作
- OC语法--KVC概念及用法
- C语言缓冲区&内存分配的理解
- hdu 4044 GeoDefense
- ZOJ 2112 Dynamic Rankings BIT套ChairTree
- C#扩充类
- Hibernate 参数设置一览表
- 链栈的基本操作
- Jquery 跨域访问
- iGrimace iOS应用闪退或图标消失的解决办法