1. /*--------------------NSNumber--------------------*/
  2.     //包装基本数据类型
  3.     
  4.     //1.创建number对象
  5.     //12,1.9,'A',YES
  6.     //整型
  7.  
  8.     //(1)包装
  9.     NSNumber *intNum = [NSNumber numberWithInteger:];
  10.     NSNumber *floatNum = [NSNumber numberWithDouble:1.9];
  11.     NSNumber *charNum = [NSNumber numberWithChar:'A'];
  12.     NSNumber *boolNum = [NSNumber numberWithBool:YES];
  13.     
  14.     NSArray *array = @[intNum,floatNum,charNum,boolNum];
  15.     NSLog(@"%@",array);
  16.     
  17.     //(2)解包
  18.     NSInteger intValue = [intNum integerValue];
  19.     CGFloat floatValue = [floatNum doubleValue];
  20.     char c = [charNum charValue];
  21.     bool b = [boolNum boolValue];
  22.     
  23.     //优化语法
  24.     NSNumber *intNum2 = @;
  25.     NSNumber *floatNum2 = @1.9;
  26.     NSNumber *charNum2 = @'A';
  27.     NSNumber *boolNum2 = @YES;
  28.     
  29.     NSInteger count = ;
  30.     NSNumber *num = @(count);
  31.     
  32.     /*--------------------NSValue--------------------*/
  33.     //将结构体变成对象
  34.     NSRange range = {,};
  35.     
  36.     NSValue *rgValue = [NSValue valueWithRange:range];
  37.     NSLog(@"range:%@",rgValue);
  38.     
  39. //    [NSValue valueWithSize:/]
  40.     
  41.     //自定义的结构体
  42.     struct CXPoint {
  43.         CGFloat x;
  44.         CGFloat y;
  45.     };
  46.     
  47.     //----对自定义的结构体封装----
  48.     struct CXPoint p = {1.2,9.8};
  49.     NSValue *pValue = [NSValue value:&p withObjCType:@encode(struct CXPoint)];
  50.     NSLog(@"%@",pValue);
  51.     
  52.     //----对自定义的结构体解封装----
  53.     struct CXPoint p2;
  54.     [pValue getValue:&p2];
  55.     NSLog(@"%f   %f",p2.x,p2.y);
  56.     
  57.     
  58.     /*---------------------NSNull---------------------*/
  59.     
  60.     //nil不能作为元素存放
  61. //    NSArray *array2 = @[@1,@2,@3,nil,@5];
  62.     
  63.     NSNull *null = [NSNull null];
  64.     NSArray *array2 = @[@,@,@,null,@];
  65.     NSLog(@"array2:%@",array2);
  66.     

Foundation ----->NSNumber的更多相关文章

  1. 85、int 、NSInteger、NSUInteger、NSNumber的区别和联系

    NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short int, in ...

  2. 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射

    一. Objective-C 对象简单处理 1. 包装类 (1) 包装类简介 NSValue 和 NSNumber : -- 通用包装类 NSValue : NSValue 包装单个 short, i ...

  3. Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver

    ========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...

  4. 黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate

    Objective-c 之Foundation之NSNumber ,NSValue, NSDate 1.NSNumber具体用法如下: 在Objective-c中有int的数据类型,那为什么还要使用数 ...

  5. Objective-C:Foundation框架-常用类-NSNumber

    NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...

  6. (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

    前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java ...

  7. iOS Foundation框架 -3.利用NSNumber和NSValue将非OC对象类型数据存放到集合

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

  8. Foundation框架中的NSNumber对象详解

    到目前为止,我们所讨论过的所有数字数据类型,如int型.float型和long型都是Objective-C语言中的基本数据类型,也就是说,它们都不是对象.例如,不能向它们发送消息.然而,有时需要作为对 ...

  9. Foundation框架 - NSNumber类

    NSNumber类 NSFormatter #import <Foundation/Foundation.h> int main(int argc, const char * argv[] ...

随机推荐

  1. MyBatis入门学习教程-MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  2. AWS CloudFormation Template

    { "AWSTemplateFormatVersion" : "2010-09-09", "Parameters" : { "Ba ...

  3. My tool chain in CentOS 7

    - Git Client SmartGit http://www.linuxlinks.com/article/20120129035558195/GitClients.html candidates ...

  4. matlab 车牌分割的算法

    function Touying(g) f=rgb2gray(g); % [m n]=size(f); [row col]=size(f); % T=graythresh(f) % T=T*255 % ...

  5. SQL起别名

    select列的时候取别名有三种方法,这三种方法并不是所有数据库都适用. 方法一.直接在字段名称后面加上别名,中间以空格隔开. 方法二.以as关键字指定字段别名,as在select的字段和别名之间. ...

  6. OAF_开发系列09_实现OAF预提取LOV设定(案例)

    20150712 Created By BaoXinjian

  7. OAF_开发系列04_实现OAF查询4种不同的实现方式的比较和实现(案例)

    2014-06-02 Created By BaoXinjian

  8. Java课程

    链接: http://pan.baidu.com/s/1kU2n3wz 密码: r88d (封装,继承,多态) 1.JDK的安装和配置 2.HelloWorld 3.基本概念 4.数据类型 5.程序控 ...

  9. java安全沙箱(四)之安全管理器及Java API

    java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...

  10. Android基础之Activity四种启动模式

    这东西是最基础的,发现自己其实没有真正试过,好好研究研究 standard :默认, singleTop :大体上同standard,但是当该Activity实例已经在task栈顶,不再创建新的实例, ...