0

私は天気アプリケーションを開発しています...その基本的な考え方は、サービスから予測を取得することです....私が行ったのは....カスタムの天気オブジェクトを配列に追加する....私が行ったのは...FYI the weather objects contains about 12 poperties....

今、私はスライダーを持っていて、表示mean or average of two temperature properties from weather objects that i get from an array on the value of slider... したいのですが、配列には約40個のオブジェクトが含まれており、スライダーの最大値は1440分です。これで約12時間になります。

ここでの主な問題は、これをループで実行し、配列からオブジェクトを動的に取得する方法です。i dont want to hardcode the indexes of the array

私はこのようなオブジェクトを取得することができ、またこのようなものが欲しいです...

if(sliderValue<180)
weather = [array objectAtIndex:0];

if(sliderValue<360)
weather = [array objectAtIndex:1];

if(sliderValue<540)
weather = [array objectAtIndex:2];

if(sliderValue<720)
weather = [array objectAtIndex:3];

if(sliderValue<810)
weather = [array objectAtIndex:4];


and so on up to slidervalue == 1440

私はすでにすべてのifelseを作成し、144 if else(値==10から値==1440まで)を作成しているので、効率的ではないと思います。

単純なのは、私が持っていることでUISlider and whose max value is 1440あり、10番目の間隔ごとにafter every 10 points i want to display average of two values....値は。に格納されているカスタムオブジェクトに格納されますNSArray。また、カスタムオブジェクトはXMLWebサービスAPIを使用して作成されるため、XMLが返すオブジェクトの量が正確にわからないため、その目的のために、配列のインデックスをハードコーディングして、配列から動的にオブジェクトを取得する必要はありません。インデックスにオブジェクトが含まれていないと、アプリがクラッシュします...それが全体の話です...私を手に入れてください...

main point is displaying and calculating average of two values after every 10 points of the slider value... and as i mentioned the conditions earlier if the value increases by 180 the index increases and next object is fetched from the array....
4

1 に答える 1

0

あなたの質問には不十分な情報があるようです。問題をより正確に、または例を挙げて説明してください。また、「if-else」を多用する代わりに、Switch Case を使用することをお勧めします。これにより、条件が一致する場所で Switch が中断されるため、アプリのパフォーマンスが向上するため、実行される比較が少なくなります。

于 2012-09-17T08:15:27.183 に答える