• iOS学习14之OC NSNumber + NSValue


    1、NSNumber

     数值类

     作用:实现基本数据类型OC对象类型相互转化

     1> NSNumber创建对象

    1 // 初始化方法
    2 NSNumber *num1 = [[NSNumber alloc] initWithInt:39];
    3 // 类方法
    4 NSNumber *num2 = [NSNumber numberWithInteger:10000];
    5 // 字变量
    6 NSNumber *num3 = @100;

     NSNumber字面量

    1 // 常量:
    2 NSNumber *intNumber = @38;
    3 NSNumber *charNumber = @'w';
    4 // 变量:
    5 int age = 18;
    6 NSNumber *ageNumber = @(age);
    7 char gender = 'w';
    8 NSNumber *genderNumber = @(gender);

     2> NSNumber常用方法

      ① 其他类型转化为NSNumber

       int类型转化为NSNumber类型的对象

       + (NSNumber *)numberWithInt:(int)value;       

       float类型转化为NSNumber类型的对象       

       + (NSNumber *)numberWithFloat:(float)value;       

       char类型转化为NSNumber类型的对象       

       + (NSNumber *)numberWithChar:(char)value;

       NSNumber转化为其他类型

       NSNumber类型对象转化为int类型的数据

       @property (readonly) int intValue;

       NSNumber类型对象转化为float类型的数据

       @property (readonly) float floatValue;

       NSNumber类型对象转化为char类型的数据

       @property (readonly) char charValue;

    1 int a = [num2 intValue];
    2 double b = [num1 doubleValue];
    3 NSLog(@"%d,%f", a, b);
    4 NSLog(@"%@", num1);

    2、NSValue

     完成 结构体对象类型 的互转。

     1> NSRange类型转化为NSValue类型的对象

      + (NSValue *)valueWithRange:(NSRange)range;

      NSPoint, NSRect, NSSize, CGSize, CGPoint, CGRect结构体类型 转化为NSValue类型的对象,使用方法同上,用法略!
      注: CGSize, CGPoint, CGRect是UI中使用的结构体类型。

     2> NSValue类型转化为NSRange类型的结构体变量

      @property (readonly) NSRange rangeValue;

      NSValue结构体类型转化为NSPoint, NSRect, NSSize, CGSize, CGPoint, CGRect类型的结构体变量,使用方法同上,用法略!

    总结:

     NSNumbeNSValue主要是为了完成基本数据类型,结构体对象 的互转,便于与collection配合使 (collection — — 集合)。

  • 相关阅读:
    jeecg+activemq之AjaxServlet+tomcat7
    odoo8.0 win7 64位 安装配置(补遗)
    odoo种种
    MySQL种种
    html种种
    jQuery种种
    freemarker种种
    jQuery ui autocomplete 与easyUI冲突解决办法(重命名ui的autocomplete 和menu部分)
    vue实现点击按钮下载图片
    VUE父子组件之间的传值,以及兄弟组件之间的传值
  • 原文地址:https://www.cnblogs.com/gfxxbk/p/5311830.html
Copyright © 2020-2023  润新知