装箱

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)];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容