zoukankan      html  css  js  c++  java
  • 装箱和拆箱

    C的基本类型使用NSNumber

    装箱        NSNumber *ageNumber = [NSNumber numberWithInt:23];

                  NSNumber *ageNumber2 = @23;

          

    拆箱        int age = [ageNumber intValue];

            

    C的复合类型结构用NSValue

    创建

            CGPoint origin = CGPointMake(10, 10);

            CGSize size = CGSizeMake(20, 20);

            CGRect rect = CGRectMake(10, 10, 20, 20);

    访问具体的变量

            CGFloat x = rect.origin.x;

            CGFloat y = rect.origin.y;

            CGFloat width = rect.size.width;

            CGFloat height = rect.size.height;

    装箱

            NSValue *rectV = [NSValue valueWithRect:rect];

            NSValue *pointV = [NSValue valueWithPoint:origin];

            NSValue *sizeV = [NSValue valueWithSize:size];

    拆箱        

            CGRect rect1  = [rectV rectValue];

            NSLog(@"%@", rectV);

     

    -----------ps------------------------------------------------------------

             struct CGPoint {

                CGFloat x;

                CGFloat y;

             };

             struct CGSize {

             CGFloat width;

             CGFloat height;

             };

             struct CGRect {

             CGPoint origin;

             CGSize size;

             };

     

  • 相关阅读:
    线程池的优雅关闭实践
    InheritableThreadLocal原理解析
    线程池踩坑
    两个线程通讯(生产-卖面包问题)
    谈谈redis的热key问题如何解决
    中国软件杯选题A1数据智能分析报告系统
    《程序员的思维修炼》读后感
    《算法导论》读后感
    《重构》读后感
    《代码整洁之道》读后感
  • 原文地址:https://www.cnblogs.com/huoran1120/p/5072578.html
Copyright © 2011-2022 走看看