回答:
NSIntegersはオブジェクトではありません。long
現在の64ビットアーキテクチャの定義と一致させるために、それらをにキャストします。
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
[@(integerValue) stringValue]
よりクリーンなアプローチです。
Obj-Cウェイ=):
NSString *inStr = [@(month) stringValue];
簡単な方法:
NSInteger value = x;
NSString *string = [@(value) stringValue];
ここで、@(value)
は指定さNSInteger
れたをNSNumber
、必要な関数を呼び出すことができるオブジェクトに変換しますstringValue
。
あなたも試すことができます:
NSInteger month = 1;
NSString *inStr = [NSString stringWithFormat: @"%ld", month];
Format specifies type 'int' but the argument has type 'NSInteger *'(aka 'int *')
。代わりにApple docsによると、私は一緒に行きましたNSString *inStr = [NSString stringWithFormat:@"%d", (int)month];