NSInteger和int的区别

#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的定义

对于不同平台32,64位有不同的最大值(int long)。

可以直接转化。

所以mac os或者ios上的系统api都是使用NSInteger作为参数。


int属于c语言的基本类型,NSInteger在int的基础上加大的值的范围。觉得有些类似于NSString和const chars的区别,但有不太相同。

猜你喜欢

转载自lizhuang.iteye.com/blog/1759410