美文网首页
int和NSInteger区别

int和NSInteger区别

作者: 冬日的夕歌 | 来源:发表于2015-12-14 23:16 被阅读96次

今天在困惑int和long的使用。

查到c语言中,int和long的字节数是和操作系统指针所占位数相等。

但c语言中说,long的长度永远大于或等于int

objective-c里,苹果的官方文档中总是推荐用NSInteger

它和int有什么区别呢,stackoverflow这帮大神给了答案。

原来在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型。

定义的代码类似于下:

#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64

typedeflongNSInteger;

typedefunsignedlongNSUInteger;

#else

typedefintNSInteger;

typedefunsignedintNSUInteger;

#endif

You usually want to useNSIntegerwhen you don't know what kind of processor architecture your code might run on, so you may for some reason want the largest possibleinttype, which on 32 bit systems is just anint, while on a 64-bit system it's along.

From:http://blog.csdn.net/delphi090902/article/details/6967247

相关文章

  • int和NSInteger区别

    查到c语言中,int和long的字节数是和操作系统指针所占位数相等。 但c语言中说,long的长度永远大于或等于i...

  • int和NSInteger区别

    今天在困惑int和long的使用。 查到c语言中,int和long的字节数是和操作系统指针所占位数相等。 但c语言...

  • NSInteger 是什么

    先看源代码 int、 NSInteger、 NSUInteger、NSNumber之间的区别和联系int : 当使...

  • NSInteger,NSNumber,Int区别

    NSInteger和NSNumber 首先NSInteger和NSNumber两个没区别.NSInteger只是一...

  • NSInteger和NSNumber及int区别

    NSInteger和NSNumber 首先:NSInteger,NSNumber并没有什么关系,更不要想当然的以为...

  • int、NSInteger、NSUInteger

    int、NSInteger区别 NSInteger会自动识别当前设备系统是32位还是64位,自动选择int的最大数...

  • NSUInteger、NSInteger、int

    NSUInteger、 NSInteger 、 int int和NSInteger其实差不多,推荐使用NSInte...

  • int和NSInteger有什么区别?

    首先: 在c语言中,int和long的字节数是和操作系统指针所占位数相等; 但c语言中说,long的长度永远大于或...

  • 蓝鲸传媒

    1.int NSInteger 的区别,什么时候用?2.NSDictionary 和 NSArray 什么场景用这...

  • NSInteger和int的差别

    NSInteger和int的差别:NSInteger会根据系统的位数32or64,自动选择int的最大数值int ...

网友评论

      本文标题:int和NSInteger区别

      本文链接:https://www.haomeiwen.com/subject/blgjhttx.html