博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kvc
阅读量:5967 次
发布时间:2019-06-19

本文共 2569 字,大约阅读时间需要 8 分钟。

////  main.m//  kvcdemo01////  Created by ganchaobo on 13-5-6.//  Copyright (c) 2013年 ganchaobo. All rights reserved.//#import 
#import "student.h"#import "book.h"//直接访问void kvc1(){ student * stu=[[[student alloc] init] autorelease]; //间接访问 //先找getname方法,key _key [stu setValue:@"zs" forKey:@"name"]; NSLog(@"%@",stu.name); NSLog(@"%@",[stu valueForKey:@"name"]);}//直接访问,根据对象先找对象中setprice方法,如果找不到price,_pricevoid kvc2(){ student * stu=[[[student alloc] init] autorelease]; stu.bk=[[[book alloc] init] autorelease]; [stu.bk setValue:@1.5 forKey:@"price"]; NSLog(@"%f",[stu.bk price]); NSLog(@"%f",[[stu.bk valueForKey:@"price"] floatValue]);}//设置多个keyvoid kvc3(){ student *stu=[[[student alloc] init] autorelease]; NSDictionary *dic=@{@"name":@"zs",@"age":@12}; [stu setValuesForKeysWithDictionary:dic];//设置多个key的值 NSDictionary *dic1=[stu dictionaryWithValuesForKeys:@[@"name",@"age"]]; NSLog(@"%@",dic1);}//keypath间接访问void kvc4(){ student *stu=[[[student alloc]init]autorelease]; stu.bk=[[[book alloc] init] autorelease]; //间接设置值 [stu setValue:@15 forKeyPath:@"bk.price"]; NSLog(@"%f",stu.bk.price); NSLog(@"%f",[[stu valueForKeyPath:@"bk.price"]floatValue]);}void kvc5(){ student *stu=[[[student alloc]init]autorelease]; stu.name=@"mike"; student *stu1=[[[student alloc]init]autorelease]; stu1.name=@"jack"; student *stu2=[[[student alloc]init]autorelease]; stu2.name=@"jim"; NSArray *arr=@[stu,stu1,stu2]; NSArray *arr1=[arr valueForKeyPath:@"name"]; NSLog(@"%@",arr1); }void kvc6(){ student *stu=[[[student alloc]init]autorelease]; stu.bk=[book bookwithprice:1.5]; student *stu1=[[[student alloc]init]autorelease]; stu1.bk=[book bookwithprice:1.6]; student *stu2=[[[student alloc]init]autorelease]; stu2.bk=[book bookwithprice:1.7]; NSArray *arr=@[stu1,stu2,stu]; NSArray *arr1= [arr valueForKeyPath:@"bk.price"]; NSLog(@"%@",arr1); }void kvc7(){ student *stu=[[[student alloc]init]autorelease]; book *book1=[book bookwithprice:1.5]; book *book2=[book bookwithprice:1.6]; book *book3=[book bookwithprice:1.7]; stu.books=@[book1,book2,book3]; NSArray *arr= [stu.books valueForKeyPath:@"price"]; NSLog(@"%@",arr); NSLog(@"%f",[[stu.books valueForKeyPath:@"@sum.price"]floatValue]); NSLog(@"%i",[[stu.books valueForKeyPath:@"@count"] intValue]);}int main(int argc, const char * argv[]){ @autoreleasepool { kvc7(); } return 0;} www.shudanyu.com

 

转载地址:http://gzqax.baihongyu.com/

你可能感兴趣的文章
【Android手机测试】OOM
查看>>
重建二叉树
查看>>
Linux实战教学笔记42:squid代理与缓存实践(一)
查看>>
Doki Doki Literature Club
查看>>
hdu 1861 游船出租 tag:模拟
查看>>
[转]用行为树的方式思考
查看>>
后台图片验证码功能是什么实现的
查看>>
Android权限
查看>>
UVA 714 Copying Books
查看>>
常用的激活函数
查看>>
【Java学习】网络编程1
查看>>
sqlcmd
查看>>
Excel 已经检测到"XXX.xsl"是SYLK文件,但是不能将其加载的问题
查看>>
(基础篇)PHP获取时间、时间戳的各种格式写法汇总
查看>>
iOS 应用首次开启 出现引导页面
查看>>
开源软件许可协议简介
查看>>
基于Linux的嵌入式文件系统构建与设计
查看>>
string与StringBuilder之性能比较
查看>>
Vnpy官网汇总
查看>>
网上的很多Android项目源码有用吗?Android开发注意的地方。
查看>>