zoukankan      html  css  js  c++  java
  • 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 — — 集合)。

  • 相关阅读:
    数据挖掘专业术语
    Python 随机数用法
    精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团
    建模前的数据清洗/ETL(python)
    [分类算法] :朴素贝叶斯 NaiveBayes
    DSP, SSP, DMP
    laravel路由
    Laravel 5 中的配置
    Jquery的each遍历数据组成JSON
    JS上传图片预览及图片限制
  • 原文地址:https://www.cnblogs.com/gfxxbk/p/5311830.html
Copyright © 2011-2022 走看看