私は 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;
}