「ProgramminginObjective-C」第4版を読んでいます。スティーブン・G・コチャン著。この本には、iPhone用の電卓アプリケーションを作成するためのサンプルコードがあります。私はコードを理解しています、少なくともその90%。-分数オブジェクトを格納するメソッドがあり、さまざまな基本的な分数算術演算を実行する方法を説明するFractionクラスがあります-それに加えて、ユーザーが合計、除算などを試みます。
ビューコントローラには、ユーザーがインターフェイスで数字を押したときの次の方法があります。
-(IBAction)clickDigit:(UIButton *)sender {
int digit = sender.tag; //sender or the argument inthis case is the button
[self processDigit:digit];
}
ご覧のとおり、このメソッドは次のように呼び出されます。
-(void) processDigit:(int)digit {
currentNumber = currentNumber * 10 + digit;
[displayString appendString:
[NSString stringWithFormat:@"%i", digit]];
display.text = displayString;
}
私の唯一の質問(そしておそらく最も簡単な答えの質問)は次のとおりです:currentNumberが常に10倍されるのはなぜですか?コンパイラが上記のメソッドに入るまで、currentNumberの値は常に0です(XCodeのデバッガを使用してこれを確認しました)ので、なぜ10を掛ける必要があるのかわかりません。その掛け算を削除しましたが、結果は正しくありません。 、私はまだ理由を理解することはできません。
ありがとうございました