ios笔记--oc语法2 (KVC)
来源:互联网 发布:mac版ps烟雾笔刷下载 编辑:程序博客网 时间:2024/06/05 14:24
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
/*
思路
通过KVC设置属性 setValue ... forKey...
取值 valueForKeyPath...
*/
KVC 全称 key value coding (键值编码)
#import <Foundation/Foundation.h>
#import "Author.h"
#import "Book.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Book*book =[[Book alloc]init];
Author *author =[[Author alloc]init];
//1 通过KVC设置属性
[book setValue:author forKey:@"author"];
//2 通过键值路径设置属性
[book setValue:@"金庸" forKeyPath:@"author.name"];
//3:等价于2
[author setValue:@"金庸" forKey:@"name"];
NSLog(@"author1 ===%@",[author valueForKey:@"name"]);
NSLog(@"author2 ===%@",[book valueForKeyPath:@"author.name"]);
//计算属性的 sum avg min max count
Book *book1 =[[Book alloc]init];
Book *book2 =[[Book alloc]init];
Book *book3 =[[Book alloc]init];
Book *book4 =[[Book alloc]init];
[book1 setValue:@100 forKey:@"price"];
[book2 setValue:@200 forKey:@"price"];
[book3 setValue:@300 forKey:@"price"];
[book4 setValue:@400 forKey:@"price"];
//KVC设置数组属性值
NSArray *array =[[NSArray alloc]initWithObjects:book1,book2,book3,book4, nil];
[author setValue:array forKey:@"isbook"];
//通过KVC key获得数组属性值
NSArray *priceArr =[author valueForKeyPath:@"isbook.price"];
NSLog(@"%@",priceArr);
//计算总和
NSNumber *number =[author valueForKeyPath:@"isbook.@sum.price"];
NSLog(@"sum == %@",number);
//计算平均
NSNumber *number1 =[author valueForKeyPath:@"isbook.@avg.price"];
NSLog(@"avg == %@",number1);
//最大值
NSNumber *number2 =[author valueForKeyPath:@"isbook.@max.price"];
NSLog(@"max ====%@",number2);
//总数
NSNumber *number3 =[author valueForKeyPath:@"isbook.@count"];
NSLog(@"count ====%@",number3);
}
return 0;
}
#import <Foundation/Foundation.h>
@class Author;
@interface Book : NSObject
{
Author *author;
float price;
}
@end
#import <Foundation/Foundation.h>
@interface Author : NSObject
{
NSString* name;
NSArray * isbook;
}
@end
- ios笔记--oc语法2 (KVC)
- OC语法 --- KVC
- ios笔记--oc语法1
- OC课堂笔记->KVC
- iOS-OC中使用KVC转换JSON数据(笔记)
- ios笔记--OC语法基础知识笔记
- 一 :ios学习笔记 OC入门2 点语法
- 黑马程序员--IOS学习笔记(OC-点语法)
- iOS笔记--oc语法5 (static全局变量与全局变量)
- iOS笔记--oc语法9(NSArray相关知识)
- iOS笔记--oc语法10(动态类型)
- ios笔记--OC常用语法归纳小结
- IOS开发笔记15-OC基础语法
- IOS开发笔记19-OC特有语法
- OC语法--KVC概念及用法
- OC基础:属性.点语法.KVC
- OC语法之KVC与KVO
- oc 点语法 / KVC /readwrite/readonly/
- POJ Unimodal Palindromic Decompositions(DP)
- 表的两种连接方式
- Palindrome Partitioning I,II(DFS,DP)
- Android 开启服务Service
- 数据库优化:优化查询
- ios笔记--oc语法2 (KVC)
- 【UML】 之 状态图 & 活动图
- JS学习笔记(04)—— (事件)
- 优化单例模式
- verilog常用系统函数以及例子
- JavaScript设计模式学习之单例模式
- iOS开发中的collectionView
- JS中判断数组中是否包含某个元素indexof兼容性兼容性
- 【PAT】1049. Counting Ones (30)