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而无需进行转换。