如何在if语句中使用已被称为条件的IBAction方法。 XCODE

时间:2013-02-27 01:42:19

标签: iphone objective-c xcode calculator

我需要帮助。

-(IBAction) equalsPressed:(id)sender{



if(((IBAction) dividePressed) = YES){
    int equals = labelsNumber.text.intValue;
    labelsNumber.text = @"";
    int ans = divide / equals;
    NSString *answer = [NSString stringWithFormat:@"%d", ans];
    labelsNumber.text = answer;

我正在构建一个计算器,错误是“预期表达式”。

请帮助

2 个答案:

答案 0 :(得分:1)

我假设您正在尝试确定是否已调用dividePressed。你可以这样做:

BOOL dividePressed;

-(IBAction) dividePressed:(id)sender{
  dividePressed = YES;
}

-(IBAction) equalsPressed:(id)sender{
  if(dividePressed) {

  }
}

答案 1 :(得分:0)

我认为你是倒退了。在equalsPressed方法中,您可以进行计算。在dividePressed中,您将存储运营商:

-(IBAction) equalPressed:(id)sender {
int equals = labelsNumber.text.intValue;
    int ans;
    labelsNumber.text = @"";
    switch(operator) {
    case DIVIDE:
    ans = op1 / op2;
    break;
    }
    NSString *answer = [NSString stringWithFormat:@"%d", ans];
    labelsNumber.text = answer;
}

-(IBAction) dividePressed:(id)sender {
  operator = DIVIDE;
}

我会对操作数(op1,op2)做同样的事情,存储它们并在equals方法中对它们进行操作