Оптимизация объективного кода c - PullRequest
0 голосов
/ 13 января 2012

У меня есть метод, который выполняется, скажем, 20 раз.Мой метод имеет аргумент, который имеет 20 уникальных значений (целочисленные значения от 1 до 20) каждый раз, когда программный элемент управления входит в метод.Целочисленное значение генерируется в случайном порядке.Первый раз при входе в метод аргумент может иметь значение n, второй раз он может иметь значение (n-3), третий раз - (n + 6) и т. Д.Прямо сейчас я использую метод переключения регистра, чтобы справиться с этим.То есть, здесь у меня 20 дел, я занимаюсь 20 делами, используя switch-case.Есть ли лучший способ, чтобы я мог справиться с этой ситуацией, без написания 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 Ответ

1 голос
/ 13 января 2012

Это действительно зависит от типа работы, которую вы выполняете в выражениях switch. Если, например, вы просто возвращаете значение, основанное на входных данных, можно было бы построить целые числа отображения NSDictionary для некоторого значения. Или, что еще лучше, если входные данные действительно представляют собой диапазон последовательных целых чисел, тогда также будет работать предопределенный массив.

...