2013-07-22 3 views
0

Я пытаюсь сделать простое сложение и вычитание в UITextField. Для этого у меня есть два UIButton s, один для добавления и один для вычитания. Кнопка для вычитания делает то, что она должна делать, однако кнопка добавления также выполняет вычитание, хотя я указал, что он добавляет 0,1 к значению в текстовом файле. Может ли кто-нибудь указать, что я здесь делаю неправильно?дополнение и субтитры uitextfield

- (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]; 
} 
+0

что _temperatureDecrement ND _temperatureIncrement? – Durgaprasad

+0

Где вы устанавливаете значение BOOL для _temperatureDecrement & _temperatureIncrement .. может u plz предоставить некоторую дополнительную информацию ... – Dinakar

+0

вы можете использовать свойство тега и проверить sender.tag – Kalpesh

ответ

1

в противном случае вы можете использовать тег собственности, и использовать еще, если блок в месте нескольких, если заявления

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]; 
} 
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); 
} 
Смежные вопросы