Answers:
塔达:
NSInteger myInteger = 42;
int myInt = (int) myInteger;
NSInteger
无非就是32/64位int。(它将根据您所运行的操作系统/平台使用适当的大小)
如果要内联,只需将NSUInteger
或强制NSInteger
转换为int
:
int i = -1;
NSUInteger row = 100;
i > row // true, since the signed int is implicitly converted to an unsigned int
i > (int)row // false
NSInteger
值代替,则会发生隐式转换int
。在任何情况下,它都不是多线解决方案。
我不确定您需要将转换NSInteger
为的情况int
。
NSInteger只是一个typedef:
NSInteger用于独立于32位或64位系统来描述整数。
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
#else
typedef int NSInteger;
#endif
您可以在NSInteger
任何使用的地方使用它int
而无需进行转换。