0

私は iOS 用の Objective-C プログラミングを学んでいますが、小さな問題にぶつかりました。私は基本的な RPN Calculator を構築しており、ユーザーが浮動小数点数を入力できるようにしようとしています。しかし、不正な浮動小数点数 (1324.343.34 など) を入力しないようにする必要があります。BOOL と if ステートメントを追加しようとしましたが、面倒なので、"." を押した場合の別のアクションを追加しました。残念ながら、decimalPressed アクションは 2 番目ですが、数字を押すアクションよりも前に進んでいるため、後にする必要があります。何か案は?

- (IBAction)digitPressed:(UIButton *)sender
{
    NSString *digit = [sender currentTitle];
    if (self.userIsInTheMiddleOfEnteringANumber) {
        if (self.dotPressed == NO || ([digit isEqualToString:@"."]==NO)) {
            self.display.text = [self.display.text stringByAppendingString:digit];
            self.dotPressed = NO;
        }
    } else {
        self.display.text = digit;
        self.userIsInTheMiddleOfEnteringANumber = YES;
    }
}

- (IBAction)decimalPressed:(UIButton *)sender {
    self.dotPressed = YES;
}
4

1 に答える 1