みんな私は何を間違っていますか?
if (numberstring.intValue <=15) {
rankLabel.text = @"A1";
}
else if (numberstring.intValue >16 && <=40){
rankLabel.text = @"A2";
}
「<=40」でエラーが発生します..
みんな私は何を間違っていますか?
if (numberstring.intValue <=15) {
rankLabel.text = @"A1";
}
else if (numberstring.intValue >16 && <=40){
rankLabel.text = @"A2";
}
「<=40」でエラーが発生します..
変数参照を見逃しました:
if (numberstring.intValue <=15) {
rankLabel.text = @"A1";
} // vv here vv
else if (numberstring.intValue >16 && numberstring.intValue <= 40){
rankLabel.text = @"A2";
}
オプションのエクストラとして、さまざまな範囲をテストするために整数に繰り返し変換しているオブジェクトnumberstring
のように見えます。NSString
この操作は非常にコストがかかるため、一度変換を行った方がよいでしょう:
int value = [numberstring intValue];
if (value <=15) {
rankLabel.text = @"A1";
}
else if (value >16 && value <= 40){
rankLabel.text = @"A2";
}
また、intValue
メソッドはプロパティではないため、Objective-C 2.0 ドット構文を使用してアクセスすることは避け、通常のメソッド呼び出しメカニズムを使用することに注意してください。
演算子は 2 つの&&
句を結合します。ただし、各句は独立しているため、他の句が削除された場合、それぞれが構文的に正しい必要があります。このルールを条件に適用すると、それだけで"<=40"
は構文的に正しくないことがわかります。したがって、次のように、比較される値を参照する必要があります。
if (numberstring.intValue > 16 &&
numberstring.intValue <= 40) // this is syntactically correct on its own