Questions tagged «nsinteger»

8
何时使用NSInteger与int
NSInteger为iOS开发时应何时使用vs.int?我在Apple示例代码中看到,当将值作为参数传递给函数或从函数返回值时,它们会使用NSInteger(或NSUInteger)。 - (NSInteger)someFunc;... - (void)someFuncWithInt:(NSInteger)value;... 但是在一个函数中,它们只是int用来跟踪值 for (int i; i < something; i++) ... int something; something += somethingElseThatsAnInt; ... 我读过(被告知)这NSInteger是在64位或32位环境中引用整数的一种安全方法,那么为什么要使用它int呢?



3
NSInteger的NSLog / printf说明符?
A NSInteger在32位平台上为32位,在64位平台上为64位。是否有一个NSLog始终与大小匹配的说明符NSInteger? 建立 Xcode 3.2.5 llvm 1.6编译器(这很重要; gcc不会这样做) GCC_WARN_TYPECHECK_CALLS_TO_PRINTF 打开 这让我有些悲伤: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSInteger i = 0; NSLog(@"%d", i); } return 0; } 对于32位代码,我需要说明%d符。但是,如果使用说明%d符,则在编译64位时会收到警告,提示我%ld改用。 如果我%ld用来匹配64位大小,则在编译32位代码时会收到一条警告,提示我%d改为使用。 如何同时解决两个警告?是否有我可以使用的说明符? 这也会影响[NSString stringWithFormat:]和[[NSString alloc] initWithFormat:]。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.