-2

请帮忙。每次当我触摸我的 UIButton 时,如果我的 UIImageView.image = image1.png 并且我当时按下我的 UIButton,我的标签应该增加现有数字(1,2,3,4...),我的标签应该减少 -10。减少和增加工作,但如果我减少例如从 34 到 24,下次当我按下增加时,它会从 34 增加而不是从现有的 24 增加。

这是我的代码:

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;
      NSString *dataMinus = [NSString stringWithFormat:@"%i",scoreIncrease];
      [self.label setText:dataMinus];
}
else {
      NSString *dataToSend = [NSString stringWithFormat:@"%i",scoreIncrease++];   
     [self.label setText:dataToSend];
}

试试这个可能对你有帮助。

于 2012-11-16T05:17:14.857 回答
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 + 1新值存储在scoreIncrease变量中,您不需要在语句中使用的额外语句if来存储新值scoreIncrease

于 2012-11-16T05:14:31.217 回答
1

操作员将++使其打印分数,然后按预期将变量增加 1。但是,在您的第一种情况下,您根本没有更改变量的值 - 您只是告诉它打印任何值,减去 10。您需要另一行来实际减去 10 来修改变量。

于 2012-11-16T05:14:49.520 回答