gpt4 book ai didi

objective-c - Objective-C : calculator app - currentNumber = currentNumber * 10 + digit;

转载 作者:行者123 更新时间:2023-12-02 22:37:17 24 4
gpt4 key购买 nike

我正在阅读“Objective-C 编程”第 4 版。 Stephen G. Kochan 着。在本书中,有一个用于为 iPhone 创建计算器应用程序的示例代码。我理解代码,至少 90%。 - 有一个 Fraction 类,它具有存储分数对象的方法,并描述了如何执行不同的基本分数算术运算- 除此之外,还有一个计算器类,它根据用户是否尝试求和、除法等运行 Fraction 类中的适当方法。

当用户在界面中按下数字时, View Controller 具有以下方法:

-(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。我确实删除了那个乘法并且结果不正确,我只是不知道为什么。

谢谢

最佳答案

或许最好的思考方式是举个例子。

假设用户按顺序点击了以下数字:1、2。那么,假设代码正常工作,currentNumber 的数值应该是 12。

现在假设用户接下来点击“3”。现在您希望该值为 123。您可以通过将先前的值 (12) 乘以 10,然后加上 3 来获得此值。如果他们随后单击“4”,该值应变为 1,234,这是通过 10 实现的* 123 + 4。等等。

关于objective-c - Objective-C : calculator app - currentNumber = currentNumber * 10 + digit;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com