When to use NSInteger vs int?

1682 단어 Integer
You usually want to use  NSInteger  when you don't know what kind of processor architecture your code might run on, so you may for some reason want the largest possible  int  type, which on 32 bit systems is just an  int , while on a 64-bit system it's a  long .
I'd stick with using  NSInteger  instead of  int/long  unless you specifically require them. NSInteger/NSUInteger  are defined as *dynamic  typedef *s to one of these types, and they are defined like this:
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

운영체제가 어떤 유형인지 모를 때 NSInteger를 사용하려고 할 수도 있습니다. 그래서 가능한 한 int 형식의 범위를 넓히고 싶을 수도 있습니다. NSInteger를 사용하면 32개의 시스템인 NSInteger는 int, 즉 32개의 시스템이지만 64개의 시스템을 사용할 때 NSInteger는 64개의 시스템입니다.
http://stackoverflow.com/questions/4445173/when-to-use-nsinteger-vs-int

좋은 웹페이지 즐겨찾기