2012-01-13 6 views
0

私は20回実行されるメソッドを持っています。メソッドには、プログラムコントロールがメソッドに入るたびに、一意の20の値(1から20までの整数値)を持つ引数があります。整数値はランダムな順序で生成されます。最初にメソッドに入るとき、引数は値 'n'を持ち、2回目は値(n-3)、3回目は(n + 6)となる可能性があります。今私はこれを処理するスイッチケースメソッドを使用しています。つまり、ここでは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

+0

合意。あなたの質問の一般性は本当に答えにくいです。 –

+0

他のコメントを詳しく説明するために、スイッチのケースステートメントを使用するよりも効率の良い、または少なくとも読みやすい方法を実行する可能性は、メソッドの詳細と意図されていることに完全に依存しています。 –

答えて

1

それは本当にあなたがswitch文で行っている仕事の種類によって異なります。たとえば、入力に基づいて値を返すだけの場合、ある値に整数のNSDictionaryを構築することができます。または、入力が実際に連続する整数の範囲である場合は、あらかじめ定義された配列も同様に機能します。