2014-02-13 57 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

你有所谓的“民”,以及一类变量?该警告只是说,你正在使用的局部变量“num”,代表

- (NSString*)ordinalNumberFormatter:(NSInteger)num 

定义,你可能反而要使用定义为类变量的“数”。也许将上面的“num”更改为另一个名称并在该方法中使用该名称。这将清除所有

+0

谢谢,我声明num作为类变量以及头文件,我认为我需要。现在很好。 – user3289737

相关问题