私はこの問題に指を置くことができないような奇妙なジレンマを抱えており、問題を理解しようとするときに外部の支援を求めています。テキストボックスから読み込んだNSString値があり、それをNSNumberに変換します。これはうまく機能し、私は自分の価値を手に入れました。次に、新しい数値を取得し、それを4つの浮動小数点数の配列と比較したいと思います。しかし、比較しようとすると、適切な結果が得られず、ここで髪を抜いています。以下は私の状況を説明するコードの小さな断片です:
// THE FIRST IF STATEMENT IS WHAT GETS SELECTED
// newValue = 0.93
// colorRange = {0.10, 0.20, 0.80, 0.90 }
NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
[format setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *newValue = [format numberFromString:value];
[format release];
if (newValue < [colorRange objectAtIndex:0]) {
// Red background
selectedButton.backgroundColor = [UIColor redColor];
}
else if (newValue > [colorRange objectAtIndex:0] && newValue < [colorRange objectAtIndex:1]) {
// White background
selectedButton.backgroundColor = [UIColor whiteColor];
}
else if (newValue > [colorRange objectAtIndex:1] && newValue < [colorRange objectAtIndex:2]) {
// Black background
selectedButton.backgroundColor = [UIColor blackColor];
}
else if (newValue > [colorRange objectAtIndex:2] && newValue < [colorRange objectAtIndex:3]) {
// Blue background
selectedButton.backgroundColor = [UIColor blueColor];
}
else {
// Green background
selectedButton.backgroundColor = [UIColor greenColor];
}
私がやろうとしているのは、入力値がパーセンテージ範囲内のどこにあるかを確認し、その情報に基づいて色を選択することです。これを行うためのより最適な方法がある場合は、私に知らせてください。