NSInteger、NSUInteger和int的区别

  • int在32bit和64bit有不同的最大值和占用不同的位数。
  • 使用NSInteger,系统会根据当前环境(是32bit还是64bit)返回int 最大值。
  • NSUInteger 是 NSInteger 的无符号形式。
  • NSInteger 不是一个对象,它是基本数据类型的typedef ,格式化字符串使用%li.
  1. #if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
  2. typedef long NSInteger;
  3. typedef unsigned long NSUInteger;
  4. #else
  5. typedef int NSInteger;
  6. typedef unsigned int NSUInteger;
  7. #endif
posted @ 2015-03-11 22:25  malongs.com  阅读(889)  评论(0编辑  收藏  举报