iOS Dev – Assignment #2 – Task #2

Check some edge-cases Division by 0, double decimal points, leading 0s, …

Division by 0 is already handled in the code from the previous task.

For the double decimal points expand the commaPressed: method like in assignment #1:

- (IBAction)commaPressed:(UIButton *)sender {
    if (textFieldShouldBeCleared) {
        self.numberTextField.text = @"0.";
        textFieldShouldBeCleared = NO;
    } else if ([self.numberTextField.text rangeOfString:@"."].location == NSNotFound) {
        self.numberTextField.text = [self.numberTextField.text stringByAppendingString:@"."];
    }
}

And for the leading zeros set textFieldShouldBeCleared like before:

- (void)viewDidLoad
{
    ...
    textFieldShouldBeCleared = YES;
}
 
- (IBAction)resultButtonPressed:(id)sender {
    ...
    textFieldShouldBeCleared = YES;
}
 
- (IBAction)numberEntered:(UIButton *)sender {
    if (textFieldShouldBeCleared) {
            ...
            if (sender.tag != 0)
                textFieldShouldBeCleared = NO;
    }
    ...
}
 
- (IBAction)clearDisplay:(id)sender {
    ...
    textFieldShouldBeCleared = YES;
}

At this point there is still no MVC but at least the functionality from the previous assignment …
… however as we use floats the results might not what you would expect ;).

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Leave a Reply

Your email address will not be published.