装箱

1.C语言的基本类型使用NSNumber(bool char int long float double)
  NSNumber *ageNumber = [NSNumber nuberWithInt:23];
  NSNumber *ageNumber = @23;
  拆箱:int age = [ageNumber intValue];
2.C语言的符合类型使用NSValue
  1.创建一个CGPoint
    表示一个点(x, y)
      struct CGPoint {
        CGFloat x;
        CGFloat y;
      };
    CGPoint orgin = CGPointMake(10, 10);
  2.创建一个CGSize
    宽度和高度(width, height)
    struct CGSize {
      CGFloat width;
      CGFloat height;
    };
    CGSize size = CGSizeMake(200, 300);
  3.创建一个CGRect
      一个视图在界面上的尺寸(矩形区域)
    struct CGRect {
      CGPoint origin;
      CGSize size;
     };
    CGRect rect = CGRectMake(10, 10, 200, 300);
    CGFloat x = rect.origin.x;
    CGFloat height = rect.size.height;
对结构体进行封装:NSValue *rectV = [NSValue valueWithRect:rect];
拆箱:      CGRect rect = [rectV rectValue];
对自定义的结构体进行封装:
  typedef struct{
    int age;
    char *name;
  }test;
  NSValue *temp = [NSValue valueWithBytes:&temp objCType:@encode(test)];

你可能感兴趣的:(装箱)