/*--------------------NSNumber--------------------*/
    //包装基本数据类型
    
    //1.创建number对象
    //12,1.9,'A',YES
    //整型     //(1)包装
    NSNumber *intNum = [NSNumber numberWithInteger:];
    NSNumber *floatNum = [NSNumber numberWithDouble:1.9];
    NSNumber *charNum = [NSNumber numberWithChar:'A'];
    NSNumber *boolNum = [NSNumber numberWithBool:YES];
    
    NSArray *array = @[intNum,floatNum,charNum,boolNum];
    NSLog(@"%@",array);
    
    //(2)解包
    NSInteger intValue = [intNum integerValue];
    CGFloat floatValue = [floatNum doubleValue];
    char c = [charNum charValue];
    bool b = [boolNum boolValue];
    
    //优化语法
    NSNumber *intNum2 = @;
    NSNumber *floatNum2 = @1.9;
    NSNumber *charNum2 = @'A';
    NSNumber *boolNum2 = @YES;
    
    NSInteger count = ;
    NSNumber *num = @(count);
    
    /*--------------------NSValue--------------------*/
    //将结构体变成对象
    NSRange range = {,};
    
    NSValue *rgValue = [NSValue valueWithRange:range];
    NSLog(@"range:%@",rgValue);
    
//    [NSValue valueWithSize:/]
    
    //自定义的结构体
    struct CXPoint {
        CGFloat x;
        CGFloat y;
    };
    
    //----对自定义的结构体封装----
    struct CXPoint p = {1.2,9.8};
    NSValue *pValue = [NSValue value:&p withObjCType:@encode(struct CXPoint)];
    NSLog(@"%@",pValue);
    
    //----对自定义的结构体解封装----
    struct CXPoint p2;
    [pValue getValue:&p2];
    NSLog(@"%f   %f",p2.x,p2.y);
    
    
    /*---------------------NSNull---------------------*/
    
    //nil不能作为元素存放
//    NSArray *array2 = @[@1,@2,@3,nil,@5];
    
    NSNull *null = [NSNull null];
    NSArray *array2 = @[@,@,@,null,@];
    NSLog(@"array2:%@",array2);
    

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. [MySQL5.6 新特性] 全局事务标示符(GTID)

    GTID的全称为 global transaction identifier  , 可以翻译为全局事务标示符,GTID在原始master上的事务提交时被创建.GTID需要在全局的主-备拓扑结构中保持唯 ...

  2. 6个错误将杀死你的App

    没有开发者或者设计师会故意破坏应用的设计.所有的应用程序创建者都对自己的应用寄予美好的愿望,但是很多错误是在他们无意识的状态下破坏app的设计.以下是应用开发者和设计者经常犯的几个错误,不过这些错误是 ...

  3. [转载]jQuery1.9完全删除live事件

    其实关于live被删除的事件早就在1.7.2版本以后就有通知过了 不过在官方一直提倡使用.on代替.live的过程中 .live事件一直沿用 今天更新了 看下jQuery1.9的相关信息 发现api中 ...

  4. bzoj3051: [wc2013]平面图

    Description Input Output 扫描线求出平面图的对偶图然后求最小生成树,用并查集按秩合并,以便查询两点间路径最大权 #include<stdio.h> #include ...

  5. 自实现CAS原理JAVA版,模拟下单库存扣减

    在做电商系统时,库存是一个非常严格的数据,根据CAS(check and swap)原来下面对库存扣减提供两种方法,一种是redis,一种用java实现CAS. 第一种 redis实现: 以下这个类是 ...

  6. varnish 4.0.3 域名访问的小问题

    1,若端口不是80 端口则匹配的时候必须加端口 if (req.http.host ~ "(?i)^var.test.aa:6081$") {set req.http.host = ...

  7. SparkConf加载与SparkContext创建(源码阅读一)

    即日起开始spark源码阅读之旅,这个过程是相当痛苦的,也许有大量的看不懂,但是每天一个方法,一点点看,相信总归会有极大地提高的.那么下面开始: 创建sparkConf对象,那么究竟它干了什么了类,从 ...

  8. OAF_开发系列10_实现OAF动态LOV设定

    20150712 Created By BaoXinjian

  9. SQL查询树形结构的所有子节点

    如下一张表test:id name pid----------- ---------- -----------1 电器 NULL2 家电 13 冰箱 24 洗衣机 25 电脑 16 笔记本 57 平板 ...

  10. flddler使用方法

    http://blog.csdn.net/geekgjie/article/details/8029936