黑马程序员——Foundation框架——NSValue类介绍和使用
来源:互联网 发布:linux transmission 编辑:程序博客网 时间:2024/06/06 03:56
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. NSValue类
NSValueN是SNumber的父类,NSValue可以存储任意类型的数据,NSValue主要用来把指针,结构体包装成OC对象,以便存储。
2. 把结构体包装成NSValue对象
<span style="white-space:pre"></span>//定义一个可变数组 NSMutableArray *arr=[NSMutableArray array]; //定义一个NSPoint结构体 NSPoint p=NSMakePoint(10, 8); //把NSPoint结构体转换成NSValue对象 NSValue *v1=[NSValue valueWithPoint:p]; [arr addObject:v1]; //定义一个NSSize结构体 NSSize s=NSMakeSize(10, 20); //把NSSize结构体转换成NSValue对象 NSValue *v2=[NSValue valueWithSize:s]; [arr addObject:v2]; //定义一个NSRect结构体 NSRect r=NSMakeRect(0, 0, 10, 20); //把NSRect结构体转换成NSValue对象 NSValue *v3=[NSValue valueWithRect:r]; [arr addObject:v3];
把自定义的结构体包装成NSValue对象
#import <Foundation/Foundation.h>//自定义一个结构体typedef struct D{ int year; int month; int day;}MyDate;int main(int argc, const char * argv[]) { @autoreleasepool { //定义一个结构体变量 MyDate md={2015,12,06}; //把自定义结构体变量转换成NSValue对象 NSValue *value=[NSValue valueWithBytes:&md objCType:@encode(MyDate)]; //创建一个数组,把value对象保存到数组中 NSMutableArray *arr=[NSMutableArray arrayWithObject:value]; //获取结构体值,保存到自定义变量mydate中 MyDate mydate; [value getValue:&mydate]; NSLog(@"%d-%d-%d",mydate.year,mydate.month,mydate.day); } return 0;}
3. 从NSValue对象中抽取出包装的结构体
//从NSvalue对象中取出NSPoint的值 NSPoint p1=[arr[0] pointValue]; //从NSvalue对象中取出NSSize的值 NSSize s1=[arr[1] sizeValue]; //从NSvalue对象中取出NSRect的值 NSRect r1=[arr[2] rectValue];
0 0
- 黑马程序员——Foundation框架——NSValue类介绍和使用
- 黑马程序员——Foundation框架NSNumber和NSValue的介绍和使用
- 黑马程序员——foundation框架之NSNumber,NSDate,NSValue
- 黑马程序员——Foundation框架入门:NSNumber,NSValue和NSDate
- 黑马程序员——Foundation框架——NSNumber类介绍和使用
- 黑马程序员——Foundation框架——NSDate、NSCalendar类介绍和使用
- 黑马程序员——Foundation框架NSFileManager介绍和用法
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- 黑马程序员——Foundation---NSSet,NSDictionary,NSNumber,NSDate,NSValue
- 黑马程序员——Foundation框架——NSArray和NSMutableArray的介绍及使用
- 黑马程序员——Foundation框架NSArray和NSMUtableArray的介绍及使用
- 黑马程序员——IOS基础——Foundation框架——字典、集合类、NSNumber/NSValue、NSObject、反射
- 黑马程序员——Foundation学习—-----NSDate、NSValue、NSNumber使用
- 黑马程序员——Objective-c——Foundation的NSValue和NSDate
- 黑马程序员——OC语言加强---NSValue的介绍和使用
- Foundation框架(12)——NSValue的使用
- Foundation框架—NSNumber、NSValue、NSDate
- 黑马程序员——OC语言加强---Foundation框架介绍
- Java面向对象(二)
- 关于icare贴盒单功能的注意事项-------运维日志9
- 文章标题
- 第15周实践项目-B-树的基本操作
- 浅谈RecycleView使用
- 黑马程序员——Foundation框架——NSValue类介绍和使用
- 5.1.7 timezone对象
- UML顺序图
- 算法总结系列之五: 基数排序(Radix Sort)
- Objective-c中的面向对象
- CentOS 7 编译安装 Nginx 1.9.7
- windows下3D窗口动画示例
- opencv中Mat、CvMat和IplImage的相互转化
- jquery学习2