OC-封装/拆包

OC 中封装、拆包基本数据类型
使用NSValue / NSNumber
使用封装可以将OC和C当中的基本数据及类型转换成实例对象,即 值类型 转换为 引用类型

封装

//我们首先定义一下C和OC中常用的数据类型
int a = 5;
float b = 5.0;
double c =5.5;
char d = 'a';
bool flag = YES;

CGPoint point = CGPointMake(3, 4);
CGSize size = CGSizeMake(5, 6);
CGRect rect = CGRectMake(3, 4, 5, 6);
NSRange range = NSMakeRange(10, 3);
NSEdgeInsets edgeInsets = NSEdgeInsetsMake(10, 10, 10, 10);
//使用 NSValue 进行转换,可以将 CGPoint、CGSize、CGRect、NSRange、NSEdgeInsets 转换成对象
NSValue *pointVa = [NSValue valueWithPoint:point];
NSValue *sizeVa = [NSValue valueWithSize:size];
NSValue *rectVa = [NSValue valueWithRect:rect];
NSValue *rangeVa = [NSValue valueWithRange:range];
NSValue *edgeVa = [NSValue valueWithEdgeInsets:edgeInsets];
//使用 NSNumber 进行转换,可以将int、float、double、char、bool 转换成对象
NSNumber *intNum = [NSNumber numberWithInt:a];
NSNumber *floatNum = [NSNumber numberWithFloat:b];
NSNumber *doubleNum = [NSNumber numberWithDouble:c];
NSNumber *charNum = [NSNumber numberWithChar:d];
NSNumber *boolNum = [NSNumber numberWithBool:flag];

拆包

int a1 = [intNum intValue];
float b1 = [floatNum floatValue];
double c1 = [doubleNum doubleValue];
char d1 = [charNum charValue];
bool flag1 = [boolNum boolValue];

CGPoint point1 = [pointVa pointValue];
CGSize size1 = [sizeVa sizeValue];
CGRect rect1 = [rectVa rectValue];
NSRange rang1 = [rangeVa rangeValue];
NSEdgeInsets edg1 = [edgeVa edgeInsetsValue];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值