Swiftのifステートメントとオプションを使用したロジックウォークスルーの質問。スウィフトIfオプション(電卓Stanford/Youtubeより)
電卓のラベルでゼロが削除されてしまい、それがなぜ起こったのかわかりません。
スタンフォード・ユーチューブの動画の中の約1:10:03の動画はこちら:https://youtu.be/_IRx1zoriPo?t=1h10m3s
コード:
import UIKit
class ViewController: UIViewController {
// linked to label
@IBOutlet weak var display: UILabel!
var userIsInMiddleOfTyping = false
// linked to keys 0-9
@IBAction func touchDigit(sender: UIButton) {
let isDigit = sender.currentTitle!
if userIsInMiddleOfTyping {
let textCurrentlyInDisplay = display.text!
display.text = textCurrentlyInDisplay + isDigit
} else {
display.text = isDigit
}
// user now typing
userIsInMiddleOfTyping = true
}
}
当初プログラムが実行され、ラベルに設定されたゼロデフォルトでは表示です。 userIsInTheMiddleOfTypingはfalseであるため、elseブロックが実行され、電卓にゼロが表示されます。その後、trueに設定されます。
これは2回目以降は真で、押されたものはすべて表示されます。押されたものは、ディスプレイにあるものに連結されます。
だから、ディスプレイがゼロに置き換わるようなことは何が起こったのですか?初期値は連結されずにどのように置き換えられましたか?
ここでは異なるコードを探しているわけではありません。これは単なる例です。どんな助けもありがたい。乾杯