2012-01-13 126 views
0

我有一个方法,它被执行,说20次。每次程序控制进入方法时,我的方法都有一个参数,它有20个唯一值(从1到20的整数值)。整数值以随机顺序生成。第一次进入方法时,争论可能有'n'值,第二次可能有价值(n-3),第三次可能是(n + 6)等等。现在我正在使用switch case方法来处理这个问题。也就是说,在这里我有20个案例,我正在使用开关箱处理20个案例。有没有更好的方法,我可以处理这种情况,即不写20个开关盒?优化客观c代码

- (CGFloat)methodName:(NSIndexPath *)indexPath{ 

numberOfLines = //gets this value after some complex calculations. 


switch(indexPath){ 
    case 0: 
     //statement 
     return numberOfLines*35;  
     break; 

    case 1: 
     //statement 
     return numberOfLines*35;    
     break; 
     …. 
    ……. 
    20 cases 

} 

return 35; 

}

+3

你的问题不清楚。你可以发布你想要优化的部分代码吗? – PengOne 2012-01-13 06:01:00

+0

同意。你的问题的普遍性使得它很难回答。 – 2012-01-13 06:02:03

+0

要详细说明其他评论,可以采用更有效的方法,或者至少比使用switch case语句更具可读性,这完全取决于方法的具体细节以及它打算做什么。 – 2012-01-13 06:03:43

回答

1

这真的取决于你交的作业开关语句正在做的类型。例如,如果您只是基于输入返回一个值,那么可以构造一个NSDictionary映射整数到某个值。或者更好的是,如果输入确实是连续整数的范围,那么预定义的数组也可以工作。