OC-封装/拆包

来源:互联网 发布:下载淘宝网app 编辑:程序博客网 时间:2024/05/20 17:07

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];
0 0
原创粉丝点击