2014-02-13 3 views
0

Я новичок. И я пытался преобразовать арабские числа в порядковые числа, имея следующий класс.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 

ответ

2

У вас есть переменная класса под названием «номер», а? Предупреждение только о том, что вы используете локальную переменную «номер», определенный в

- (NSString*)ordinalNumberFormatter:(NSInteger)num 

И вы могли бы вместо этого хотите использовать «номер» определяется как переменная класса. Возможно, измените вышеуказанное «num» на другое имя и используйте это имя в методе. Это очистит все это

+0

Спасибо, я объявил num как переменную класса, а также в файле заголовка, который, как я думал, мне нужно. Теперь все в порядке. – user3289737