Object-C 封装、拆包基本数据类型

来源:互联网 发布:js获取div的name属性 编辑:程序博客网 时间:2024/05/21 17:05

Object-C 封装、拆包基本数据类型

Foundation 框架下的基本类

NSValue / NSNumber

功能将OC和C当中的基本数据类型转换成实例对象,即将值类型转换成引用类型 
//Object-C的基本数据数据类型        int a = 5 ;        float b = 4.5 ;        double c = 34.5545 ;        char d = 'c' ;        BOOL flag = YES ;//        CGPoint point = {3,5};//        CGSize size ={30,40};//        CGRect rect = {point ,size};        CGPoint point = CGPointMake(3, 5);        CGSize size = CGSizeMake(30, 40);        CGRect rect = CGRectMake(3, 5, 40, 60);        NSRange range = NSMakeRange(3, 7);        NSEdgeInsets edgeInsets =         NSEdgeInsetsMake(10, 10, 10, 10);

NSValue 为 NSNumber 的父类。
其中NSValue类可以将CGPoint, CGSize ,CGRect ,CGRange ,CGEdgeInsets 转换成对象

        NSValue *pointValue =         [NSValue valueWithPoint:point];        NSValue *sizeValue = [NSValue valueWithSize:size];        NSValue *rectValue = [NSValue valueWithRect:rect];        NSValue *rangeValue =         [NSValue valueWithRange:range];        NSValue *egeInsetsValue =         [NSValue valueWithEdgeInsets:edgeInsets];

其中 NSNumber 类可以将 ‘int’ ‘float’ ‘double’ ‘char’ ‘BOOL’等C中基本数据类型转换成对象

        NSNumber *intNumber = [NSNumber numberWithInt:a];        NSNumber *intergerNumber =         [NSNumber numberWithInteger:12];        NSNumber *floatNumber =        [NSNumber numberWithFloat:b];        NSNumber *doubleNumber =         [NSNumber numberWithDouble:c];        NSNumber *charNumber = [NSNumber numberWithChar:d];        NSNumber *boolNumber =         [NSNumber numberWithBool:flag];

我们将C 和OC中的基本数据类型 (值类型) 转换成 对象 (引用类型)的过程,叫做封装。相对应的也有一个将对象转变成基本数据类型,此过程叫做拆包。

        int a1 = [intNumber intValue];        NSInteger a2 = [intergerNumber integerValue];        float a3 = [floatNumber floatValue];        double a4 = [doubleNumber doubleValue];        char a5 = [charNumber charValue];        BOOL a6 = [boolNumber boolValue];
0 0
原创粉丝点击