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;

             };

     

  • 相关阅读:
    java中变量、对象的存储
    悬停小组件-反馈和返回顶部
    setTimeout、setInternal传递带参数的函数
    jquery绑定事件时如何传递参数
    jQuery判断复选框checkbox是否选中
    bootstrap模态框垂直居中显示
    【转】Spring事务的隔离级别
    第一天 纪念下下
    羊车门
    关于Python课程的一些思考。
  • 原文地址:https://www.cnblogs.com/huoran1120/p/5072578.html
Copyright © 2011-2022 走看看