NSInteger、NSUInteger和int的区别
- int在32bit和64bit有不同的最大值和占用不同的位数。
- 使用NSInteger,系统会根据当前环境(是32bit还是64bit)返回int 最大值。
- NSUInteger 是 NSInteger 的无符号形式。
- NSInteger 不是一个对象,它是基本数据类型的typedef ,格式化字符串使用%li.
#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