NSInteger precedence = [self operatorPrecedence];
[d appendFormat:@"precedence:%d, ", precedence];
与える:
警告:フォーマットはタイプ'int'を指定していますが、引数のタイプは' NSInteger'(別名' long')です。
Xcodeはに変更%d
することを提案します%ld
。
ただし、次のように、32ビットまたは64ビットのターゲットに対してのみ機能しますNSInteger
。
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
32ビットと64ビットの両方のターゲットについて、警告を解除するための最良の方法は何ですか?