您的位置:首页 > 其它

OC中封装,拆包基础数据类型

2015-12-11 18:04 239 查看


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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: