0

我正在尝试在UITextField. 为此我有两个UIButtons,一个用于加法,一个用于减法。减法按钮完成了它应该做的事情,但是加法按钮也执行减法,即使我已经指定它将 0.1 添加到文本字段中的值。谁能指出我在这里做错了什么?

- (IBAction)decrementIncrementTemperatureValue:(UIButton *)sender
{
   NSString *temperatureString = _temperatureValueInput.text;
   float operator = [temperatureString floatValue];
   float result;

   if (_temperatureDecrement)
   {
       result = (operator - 0.1);
   }
   if (_temperatureIncrement)
   {
       result = (operator + 0.1);
   }
   _temperatureValueInput.text = [NSString stringWithFormat:@"%f", result];
}
4

2 回答 2

3

是两个按钮的实例变量吗_temperatureDecrement_temperatureIncrement

如果是这样,您想检查它们是否匹配sender,现在您只需检查它们是否不为零。

if (sender == _temperatureDecrement) {
    result = (operator - 0.1);
}
else if (sender == _temperatureIncrement) {
    result = (operator + 0.1);
}
else {
    // if you forgot to wire your two button variables to the UIButton objects
    NSLog(@"sender (%@) is neither decrement nor increment button", sender);
}
于 2013-07-22T10:39:01.050 回答
1

否则您可以使用标签属性,并使用 else if 块代替多个 if 语句

decrmentBtn.tag =0;
incrementBtn.tag =1;
- (IBAction)decrementIncrementTemperatureValue:(UIButton *)sender {
NSString *temperatureString = _temperatureValueInput.text;
float operator = [temperatureString floatValue];
float result;

if (sender.tag==0) {
    result = (operator - 0.1);
}
else if (sender.tag==1) {
    result = (operator + 0.1);
}
_temperatureValueInput.text = [NSString stringWithFormat:@"%f", result];
}
于 2013-07-22T10:45:45.450 回答