我正在阅读“Objective-C 编程”第 4 版。斯蒂芬 G. Kochan。书中有一个示例代码,用于为 iPhone 创建一个计算器应用程序。我理解代码,至少 90%。- 有一个 Fraction 类,它具有存储分数对象的方法,并描述了如何执行不同的基本分数算术运算 - 除此之外,还有一个计算器类,它根据用户是否在 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。我确实删除了那个乘法,结果不正确,我只是不知道为什么。
谢谢