在简单的计算器中记录输入数字的历史记录

时间:2013-07-05 14:12:48

标签: iphone ios objective-c ipad

我正在为一个简单的计算器应用程序进行更新。更新包括历史记录显示。我的问题是,当我输入一个数字时,日志显示忽略了第一个数字,但完全记录了所有其余数字。 “示例”,如果我键入1234567 + 1234 ...日志显示“234567 + 234”。所以第一个数字永远不会存在。

- (IBAction)digitPressed:(UIButton*)sender;
{
    NSString *digit = [[sender titleLabel] text];
    NSRange range = [[display text] rangeOfString:@"."];

    if (userIsInTheMiddleOfTypingANumber) {
        if ( ! ([digit isEqual:@"."] && (range.location != NSNotFound)))
        [display setText:[[display text]stringByAppendingString:digit]];
        self.logDisplay.text = [self.logDisplay.text stringByAppendingFormat:@"%@", digit];

    } else {
        if ([digit isEqual:@"."]) {
            [display setText: @"0."];
        }
        else  {
            [display setText:digit];
        }
        userIsInTheMiddleOfTypingANumber = YES;

    }

}

提前致谢!

1 个答案:

答案 0 :(得分:1)

你丢失第一个数字的原因是if (userIsInTheMiddleOfTypingANumber) {第一次返回false。

首次按下您的变量userIsInTheMiddleOfTypingANumberNO,因此不会记录。 digitPressed:的第二次调用将有userIsInTheMiddleOfTypingANumber = YES;并将记录。