iOS int和NSInteger的区别

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

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

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

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

typedef long NSInteger;

typedef unsigned long NSUInteger;

#else

typedef int NSInteger;

typedef unsigned int NSUInteger;

#endif

总结:NSInteger与int的区别是NSInteger会根据系统的位数(32or64)自动选择int的最大数值(int or long)。

转:http://blog.csdn.net/freedom2028/article/details/8035847


你可能感兴趣的:(ios)