我是初学者。我试图通过下面的课程将阿拉伯数字转换为序数。
num是NSInteger,而在计算过程中,警告会弹出“隐藏实例的本地声明”
#import "ordinalNumberFormatter.h"
@implementation ordinalNumberFormatter
- (NSString*)ordinalNumberFormatter:(NSInteger)num
{
NSString *ending;
int ones = num % 10; //Warning came out
int tens = floor(num / 10); //Warning came out
tens = tens % 10;
if(tens == 1){
ending = @"th";
}else {
switch (ones) {
case 1:
ending = @"st";
break;
case 2:
ending = @"nd";
break;
case 3:
ending = @"rd";
break;
default:
ending = @"th";
break;
}
}
return [NSString stringWithFormat:@"%d%@", (int)num, ending]; //Warning came out
}
@end
答案 0 :(得分:2)
你有一个名为“num”的类变量吗?警告只是说你正在使用
中定义的局部变量“num”- (NSString*)ordinalNumberFormatter:(NSInteger)num
而您可能希望使用定义为类变量的“num”。也许将上面的“num”更改为另一个名称,并在方法中使用该名称。那将全部清除