-2

助けてください。UIButtonに触れるたびに、UIImageView.image = image1.pngの場合、ラベルは既存の数値(1,2,3,4 ...)を増やす必要があり、そのときにUIButtonを押すと、ラベルは-10減少するはずです。減少と増加は機能しますが、たとえば34から24に減少すると、次に増加を押すと、既存の24からではなく34から増加します。

これが私のコードです:

if (UIImageView.image == [UIImage imageNamed:@"image1.png"]) {
        NSString *dataMinus = [NSString stringWithFormat:@"%i",scoreIncrease - 10];
        [self.label setText:dataMinus];
    }

    else {

        NSString *dataToSend = [NSString stringWithFormat:@"%i",scoreIncrease++];

        [self.label setText:dataToSend];

      }

それを修正するのを手伝ってください。

4

3 に答える 3

2

次のようにしてください:

if (UIImageView.image == [UIImage imageNamed:@"image1.png"]) {
    scoreIncrease = scoreIncrease - 10;   // Store the new value
    NSString *dataMinus = [NSString stringWithFormat:@"%i", scoreIncrease];
    [self.label setText:dataMinus];
} 
else {
    NSString *dataToSend = [NSString stringWithFormat:@"%i",scoreIncrease++];
    [self.label setText:dataToSend];
}

else条件の場合、新しい値が変数に格納されるようになり、新しい値を格納scoreIncrease++するためのステートメントで使用される追加のステートメントは必要ありません。scoreIncrease = scoreIncrease + 1scoreIncreaseifscoreIncrease

于 2012-11-16T05:14:31.217 に答える
2
if (UIImageView.image == [UIImage imageNamed:@"image1.png"]) {
      scoreIncrease=scoreIncrease-10;
      NSString *dataMinus = [NSString stringWithFormat:@"%i",scoreIncrease];
      [self.label setText:dataMinus];
}
else {
      NSString *dataToSend = [NSString stringWithFormat:@"%i",scoreIncrease++];   
     [self.label setText:dataToSend];
}

これを試してみてくださいUを助けるかもしれません。

于 2012-11-16T05:17:14.857 に答える
1

オペレーターは++、スコアを出力してから、意図したとおりに変数を1つ増やします。ただし、最初のケースでは、変数の値をまったく変更していません。値から10を引いた値を出力するように指示しているだけです。変数を変更するには、実際に10を引くために別の行が必要です。

于 2012-11-16T05:14:49.520 に答える