NSInteger,NSNumber,Int区别

NSInteger和NSNumber

首先NSInteger和NSNumber两个没区别.
NSInteger只是一个基本的数据类型.
NSNumber是OC的对象,继承自NSValue,NSValue又继承自NSObject

NSUInteger 和NSInteger

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

NSInteger 和Int

C语言Windows中:
16位系统:long是4字节,int是2字节
32位系统:long是4字节,int是4字节
64位系统:long是8字节,int是4字节
objective-c里,苹果的官方文档中总是推荐用NSInteger
NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型。当你不知道你的操作系统是什么类型的时候,你通常会想要使用NSInteger,所以或许你想要你的int类型范围尽可能的大,用NSInteger,32位系统NSInteger是一个int,即32位,但当时64位系统时,NSInteger便是64位的。——所以就是一般推荐用NSInteger的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容