我使用iOS制作的计算器无法打印出正确的数字

Min*_*ava -3 objective-c calculator ios

我正在使用Xcode iOS SDK 6.1制作计算器.但是,我遇到了一个问题,因为我的计算器无法将两个数字加在一起.似乎计算器总是给我第一个数字作为答案.有办法解决问题吗?

这是代码:

#import "ViewController.h"


@interface ViewController ()

@end

@implementation ViewController
@synthesize FirstNumber,SecondNumber;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.FirstNumber.delegate = self;
    self.SecondNumber.delegate = self;

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)dealloc
{
    [FirstNumber release];
    [SecondNumber release];

    [super dealloc];
}

- (IBAction)Calculate:(id)sender
{
    NSString *finalNumberString;
    int firstNumberInt, secondNumberInt, finalNumberInt;

    firstNumberInt = [FirstNumber.text integerValue];
    secondNumberInt = [SecondNumber.text integerValue];

    finalNumberInt = firstNumberInt + secondNumberInt;


    UIAlertView *alerting = [[UIAlertView alloc]initWithTitle:@"Answer" message:[NSString stringWithFormat:@"The answer is %d",finalNumberInt] delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles: nil];

    [alerting show];

    _FinalNumber.text = [[NSString alloc] initWithFormat:@"%i",finalNumberInt];

}

- (BOOL)textFieldShouldReturn:(UITextField*)textField
{
    [FirstNumber resignFirstResponder];
    [SecondNumber resignFirstResponder];
    return NO;
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    if ([touch view] == self.view)
    {
        [FirstNumber resignFirstResponder];
        [SecondNumber resignFirstResponder];

    }
}
@end
Run Code Online (Sandbox Code Playgroud)

Dru*_*erB 5

看起来你在警报中显示错误的值.

[NSString stringWithFormat:@"The answer is %d",secondNumberInt]
Run Code Online (Sandbox Code Playgroud)

这应该是

[NSString stringWithFormat:@"The answer is %d", finalNumberInt]
Run Code Online (Sandbox Code Playgroud)

代替.