理解Ios上的计算器代码
我想看看程序员如何解释这段代码,以及最后一行的实用性是什么? 我是一个新的初学者,我不确定我是否正确理解了这段代码。希望你能给出详细的答案,这样我就能从中受益,也能从中受益理解Ios上的计算器代码,ios,swift,calculator,Ios,Swift,Calculator,我想看看程序员如何解释这段代码,以及最后一行的实用性是什么? 我是一个新的初学者,我不确定我是否正确理解了这段代码。希望你能给出详细的答案,这样我就能从中受益,也能从中受益 var UserIsInTheMiddleOfTyping = false @IBAction func TouchedDigit(_ sender: UIButton) { let digit = sender.currentTitle! let CurrentTextinDisplay = Display
var UserIsInTheMiddleOfTyping = false
@IBAction func TouchedDigit(_ sender: UIButton) {
let digit = sender.currentTitle!
let CurrentTextinDisplay = Display.text!
if UserIsInTheMiddleOfTyping {
Display.text = CurrentTextinDisplay + digit
}else{
Display.text = digit
}
UserIsInTheMiddleOfTyping = true
}
}这是基于我对这段代码的解释的一个简短解释。 显然,在执行该方法之前,我们不知道用户是否正在键入任何内容,因为该方法可能已经被调用,因此
UserIsInTheMiddleOfTyping
可能是true
或false
var UserIsInTheMiddleOfTyping=false
当他在计算器上点击一个数字时,就会触发方法TouchedDigit(uSender:ui按钮)
将创建一个新常量digit
,并将其设置为发送者的标题,该标题是UIButton
的一个实例(标题属性是按钮的显示名称,例如1,2,3..)
将创建一个新常量currentTextInPlay
,并将其设置为我认为是UITextField
的内容(因此展开它时不为空)
让CurrentTextInPlay=Display.text
如果用户在调用该方法之前键入了某些内容(尽管代码实现非常糟糕),我们会将之前创建的digit
常量附加到Display
实例的内容中,该实例(我猜)保存了已键入的数字
如果用户是InTheMiddleOftyping{
Display.text=CurrentTextInPlay+数字
}
否则,如果用户正在输入第一个数字,当我们将显示
实例设置为保持第一个数字时
否则{
Display.text=数字
}
在返回之前,该方法将UserIsInTheMiddleOfTyping
设置为true。
(下次触发该方法时,我们将肯定地输入if语句并追加新数字。)
UserIsInTheMiddleOfTyping=true
我个人会将代码缩减如下:
//There is no need to save in a variable if the user is in the middle of typing
//Because he will be in this state only when the method is triggered, therefore just shrink as follows:
@IBAction func TouchedDigit(_ sender: UIButton) {
//Safe unwrapping of sender.currentTitle:
if let actualDigit = sender.currentTitle {
//Safe unwrapping of Display.text:
if let actualText = Display.text {
Display.text = actualText + actualDigit
}
}
}
希望这有帮助,如果有,请将问题标记为正确
再见,谢谢你,艾伯特。这非常有帮助,我感谢你给我时间详细解释。我不知道他们为什么否决我的问题,好像他们有一天不是初学者一样。但是非常感谢你,阿尔伯特。很高兴我能帮助你。忘记别人,做你自己。下次试着更深入地描述你的问题。