/*--------------------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. C# 创建开机启动核心代码

    #region 访问 AppSettings private void SaveAppSetting(string key, string value) { var config = Configur ...

  2. PHP PDO的错误处理模式

    PDO默认的错误处理方式是返回一个数组格式的错误代码.如果想要判断SQL有没有出错时,就需要写一组代码来检测这个返回的数组.觉得这样有些麻烦.还好PDO还提供了另外两种处理方式,只要根据需要设置一下就 ...

  3. Linux centos 下 安装eclipse c++

    之前在centos6.3版本使用eclipes一切都很正常.最近centos版本升级到6.7后,使用eclipse c++到时候,打开文件,就异常退出了.在网上搜了很久,终于找到解决方法: 现象描述: ...

  4. PHP空数组转化为json对象的问题

    例子: $a = []; echo json_encode($a); echo json_encode($a, JSON_FORCE_OBJECT); 输出结果: [] {}

  5. 也说php从mysql数据库通过服务器端json返回数据出现乱码问题

    我最近需要用js和json与mysql数据库做一个两级联动的下拉菜单,发现当从数据库中返回的是中文时客户端会出现乱码问题,经过在百度上查找终于找到了解决办法如下: while($row=$MySqlc ...

  6. ActiveX控件打包、签名、嵌入详解

    ActiveX控件打包.签名.嵌入详解 前言 在我们的一个项目中,使用到了大华网络监控摄像头枪机,网络上下载了其ActiveX插件,但是发现其所提供的类库没有打包处理.这就导致我们每次给用户安装的时候 ...

  7. windows WSABUF 结构在IOCP 中应用时两个成员变量的意义

    WSABUF 结构的原型如下: typedef struct __WSABUF { u_long len; char FAR *buf; } WSABUF, *LPWSABUF; 该结构在IOCP 中 ...

  8. [AIR] 获取U盘,打开U盘

    示例: 获取存储卷的方法: package com.controls { import flash.events.StorageVolumeChangeEvent; import flash.file ...

  9. [AIR] AIR 应用程序的调用和终止

    本节讨论几种对已安装的 Adobe® AIR® 应用程序进行调用的方法,以及关闭运行中的应用程序的选项和注意事项. 注: NativeApplication.InvokeEvent 和 Browser ...

  10. [手机取证] Apple正在行动起来封堵后门?

    在被爆出“后门”事件后,苹果似乎已经开始了自己的行动,在最新发布的iOS 8 Beta5版本中,iOS取证专家Zdziarski提及的众多后台服务中的packet sniffer服务已经被禁用,体现出 ...