OC中封装,拆包基本数据类型
使用Foundation框架 下地基础类NSValue / NSNumber
功能:将OC中和C 当中的基本数据类型转换成实例对象,既将'值类型'转换成‘引用类型’
OC中常用的数据类型
1.整型
int a = 5;
2.浮点型
float b = 5.0;
3.双精度浮点型
double c = 5.5;4.字符型
char d = 'a';5.布尔类型
bool flag = YES;6.位置
CGPoint point = {3,4};
7.大小
CGSize size = {5,6};8.空间
CGRect rect = {point,size};
9.长度
NSRange 包含了Location 以及Length,Location表示起始位 置,以0开始,Length表示长度NSRange range = {10,3};
OC中数据类型的封装
封装:我们将C中得基本数据类型(值类型)转换成对象类型(引用类型)的过程,叫做封装。
OC中数据类型的封装要使用到NSValue 以及 NSNumber
NSValue 为NSNumber的父类
NSValue可以将我们的 CGPoin,CGSize,CGRect,CGRange,CGEdgeInsets转换成对象
NSValue *pointVe = [NSValue valueWithPoint:point];
NSValue *sizeVe = [NSValue valueWithSize:size];
NSValue *rectVe = [NSValue valueWithRect:rect];
NSValue *rangeVe = [NSValue valueWithRange:range];
NSValue *edgeInsetsVe = [NSValue valueWithEdgeInsets:edgeInsets];
NSLog(@"%@",pointVe);
其中NSNuber 可以将int,flaot,double,char,bool等C中基本类型转换成对象
NSNumber *intNum = [NSNumber numberWithInt:a];
NSNumber *flaotNum = [NSNumber numberWithFloat:b];
NSNumber *doubleNum = [NSNumber numberWithDouble:c];
NSNumber *charNum = [NSNumber numberWithChar:d];
NSNumber *boolNum = [NSNumber numberWithBool:flag];
拆包:相对应的也有一个将对象转变成基本数据类型,此过程叫拆包。
int a1 = [intNum intValue];
float b1 = [flaotNum floatValue];
double c1 = [doubleNum doubleValue];
char d1 = [charNum charValue];
bool flag1 = [boolNum boolValue];
CGPoint point1 = [pointVe pointValue];
CGSize size1 = [sizeVe sizeValue];
CGRect rect1 = [rangeVe rectValue];
NSRange range1 = [rangeVe rangeValue];
NSEdgeInsets edgeInsets1 = [edgeInsetsVe edgeInsetsValue];