首页 > 移动平台 > 详细

IOS int NSInteger NSNumber区分

时间:2015-01-19 18:41:44      阅读:232      评论:0      收藏:0      [点我收藏+]

1.NSNumber 是一个类继承于NSValue 即一个基本数据类型的集合 包括char a signed or unsigned char, short int, int, long int, long long int, float, or double or as a BOOL

NSNumber类型有点类似id类型,对于任何类型的数字对象都能用它来声明,也就是用它来声明数字对象,通过声明,很难判断声明变量是什么数字类型,确定数字对象类型多是在初始化的时候才能确定。

2.int   :32位整型

int 是整数类型,有符号
unsigned int 是无符号的整数类型

  当使用int类型定义变量的时候,可以像写C程序一样,用int也可以用NSInteger,推荐使用NSInteger 因为这样就不用考虑设备是32位还是64位了(随编译器变化而变化 对于不同平台32,64位有不同的最大值(int long))。

3.

NSUInteger是无符号的,即没有负数,NSInteger是有符号的。

NSInteger是基础类型,NSNumber是一个类,如果需要存储一个数值,直接使用NSInteger是不行的,比如在一个数组里使用下面的语句就会报错:

NSArray *array = [NSArray alloc] init];  
[array addObject:3];  
因为array里应该是一个类,但‘3’不是,所以需要用NSNumber:

 NSArray *array = [NSArray alloc] init];  
[array addObject:[NSNumber numberWithInt:3]];  

 

IOS int NSInteger NSNumber区分

原文:http://www.cnblogs.com/someonelikeyou/p/4234409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!