OC中的NSValue
来源:互联网 发布:如何备份c盘数据 编辑:程序博客网 时间:2024/05/29 11:18
一种是系统自带的
封装:
//点 NSPoint point = NSMakePoint(2, 3); NSValue *value1 = [NSValue valueWithPoint:point]; NSLog(@"%@",value1);
解封装:
//解析了系统的 NSPoint newpoint = value1.pointValue; NSLog(@"x = %.2f, y = % .2f",newpoint.x,newpoint.y);
2014-12-20 12:52:06.321谭启宏-OC-3[2329:695553] NSPoint: {2, 3}
2014-12-20 12:52:06.322谭启宏-OC-3[2329:695553] x = 2.00, y = 3.00
Program ended with exit code: 0
另一种(首先要定义一个结构体)
typedef struct { NSInteger num; NSInteger score;}Student;
然后
封装:
//结构体 Student student = {2,10}; NSValue *value2 = [NSValue valueWithBytes:&student objCType:@encode(Student)]; NSLog(@"%@",value2);
解封装:
//解封装自定义的 Student newstudent ; [value2 getValue:&newstudent]; //输出的时候用数据输出 NSLog(@" num = %ld, score = %ld ",newstudent.num,newstudent.score);
运行结果:
2014-12-20 12:53:25.736谭启宏-OC-3[2352:704124] <02000000 00000000 0a000000 00000000>
2014-12-20 12:53:25.737谭启宏-OC-3[2352:704124] num = 2, score = 10
Program ended with exit code: 0
后话:
结构体不能直接存入数组
我们可以通过Value把结构体封装成对象存到数组中(数组可以存对象)
0 0
- OC中的NSValue
- OC中的NSNumber、NSValue
- OC中的NSNumber和NSValue
- OC-NSValue
- OC-NSValue
- Foundation -- OC集合 --NSValue
- oc语言--NSValue
- OC中NSValue使用
- OC之【NSValue的使用】
- OC中NSValue的使用
- oc -13 NSNumber NSValue NSDate
- OC 非常用类 --- NSValue
- OC-7.NSSet NSValue NSNumber
- iOSDay14之OC NSNumber + NSValue
- OC基础—NSNumber、NSValue、NSDate
- OC--Foundation-NSDictionary,NSNumber,NSDate,NSValue
- OC--NSValue、 NSNumber、NSNull、NSDate的使用
- 黑马程序员--oc:NSString、NSValue、NSNumber、NSDate
- Java多线程之间通信——修改对象中的成员变量
- 通过Android智能终端完成mysql数据库中的账号密码验证
- DJANGO生成ALM缺陷概要图---- 一
- 正在整理一份《世界上最好的HTML5学习资料》,欢迎投稿
- Java学习之路-Hessian学习
- OC中的NSValue
- 建造者模式
- Redis基础之排序
- Spring整合Hessian
- android硬件加速器及其问题小结
- 输出完数
- 贪财的大富翁
- rr
- 【数据库】PowerDesigner使用教程