Answers:
NSIntegers不是对象,可以将它们强制转换为long
,以匹配当前的64位体系结构的定义:
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
[@(integerValue) stringValue]
是一种更清洁的方法。
Obj-C方式=):
NSString *inStr = [@(month) stringValue];
在支持时进行编译时arm64
,不会生成警告:
[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
Format specifies type 'int' but the argument has type 'NSInteger *'(aka 'int *')
。取而代之的是,根据苹果公司的文档,我选择了NSString *inStr = [NSString stringWithFormat:@"%d", (int)month];