优化目标c代码

时间:2012-01-13 05:58:57

标签: objective-c switch-statement

我有一个方法,执行20次。我的方法有一个参数,每次程序控件进入方法时都有20个唯一值(整数值从1到20)。整数值以随机顺序生成。第一次进入方法时,争论可能具有值'n',第二次可能具有值(n-3),第三次可能具有值(n + 6),依此类推。现在我正在使用switch case方法来处理这个问题。也就是说,这里我有20个案例,我正在处理使用switch-case的20个案例。有没有更好的方法,我可以处理这种情况,即没有编写20个开关案例?

- (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;

}

1 个答案:

答案 0 :(得分:1)

这实际上取决于您在switch语句中所做的工作类型。例如,如果您只是根据输入返回一个值,则可以将NSDictionary映射整数构造为某个值。或者更好的是,如果输入确实是一系列连续的整数,那么预定义的数组也可以工作。