回答:
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];