OC-简单介绍KVC和简单的使用!

本文介绍了KVC(Key Value Coding)在Objective-C中的基本使用方法,包括如何通过KVC设置和获取对象属性值,以及如何利用KVC进行简单的集合操作如计数、求和等。

    //基本的KVC(Key,Value,Coding)基本概念
    Person *person = [[Person alloc] init];
    
    
    //下面会先判断getter/setter方法是否存在 如果存在先会调用getter/setter方法
    [person setValue:@"1" forKey:@"compatibility"];
    
    //valueForKey获取对象的数值 如果存储的是基本数据类型 必须先转换成对象 然后对象转换基本数据类型
    NSNumber *number =  [person valueForKey:@"compatibility"];
    
    //设置对象
    [person setValue:[Car new] forKey:@"car"];
    
    //设置当前Person里面的cat对象的属性
    [person setValue:[NSNumber numberWithInt:1] forKeyPath:@"car.status"];
    //获取
    NSNumber *num1 = [person valueForKeyPath:@"car.status"];
    
    //创建第一本书
    book *book1 = [[book alloc] init];
    [book1 setValue:@"三国演义" forKey:@"name"];
    [book1 setValue:[NSNumber numberWithInt:124] forKey:@"price"];
    
    //创建第二本书
    book *book2 = [[book alloc] init];
    [book2 setValue:@"三国演义" forKey:@"name"];
    [book2 setValue:[NSNumber numberWithInt:125] forKey:@"price"];
    
    //创建包含书籍对象
    NSArray *array = [[NSArray alloc] initWithObjects:book1,book2,nil];
    //设置属性
    [person setValue:array forKey:@"array"];
    
    //KVC可以做一些简单的运算 存储的数量
    NSLog(@"%@",[person valueForKeyPath:@"array.@count"]);
    //总和
    NSLog(@"%@",[person valueForKeyPath:@"array.@sum.price"]);
    //平均
    NSLog(@"%@",[person valueForKeyPath:@"array.@avg.price"]);
    //最大
    NSLog(@"%@",[person valueForKeyPath:@"array.@max.price"]);
    //最小
    NSLog(@"%@",[person valueForKeyPath:@"array.@min.price"]);


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值