NSInteger用于计算,警告'本地声明''隐藏实例'

时间:2014-02-13 17:34:59

标签: objective-c math nsinteger

我是初学者。我试图通过下面的课程将阿拉伯数字转换为序数。

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

1 个答案:

答案 0 :(得分:2)

你有一个名为“num”的类变量吗?警告只是说你正在使用

中定义的局部变量“num”
- (NSString*)ordinalNumberFormatter:(NSInteger)num

而您可能希望使用定义为类变量的“num”。也许将上面的“num”更改为另一个名称,并在方法中使用该名称。那将全部清除