Swiftで行こう!--スタンフォードで電卓!2
に引き続き講義を聞いて実際にやっていきます。
復習です。StoryBoardにactionとして機能するButtonを配置した。ボタンを押すとボタンのタイトルを取得してコンソールに出力するようになっている。
次のステップです。
ラベルに数字を入れていきたいですね。
display!.text = digit
とすればラベルには表示されそうですね。でもこうすると、数字が入れ替わるだけになってしまいます。そこでまず最初の数字を覚えておく変数を用意してそれに次の数字を追加していくのが良いですね。ということで、
let textCurrentDisplay = display!.text!
display!.text = textCurrentDisplay + digit
ここでも"!"を使う必要が出てきます。気をつけるポイントですね。
これで文字の追加はできるようになりました!でもこれでは最初に表示されている"0"も残ってしまっていますね。これをなんとかしようということで、ボタンを最初に押した時の判定をしていきます。
var userIsMiddleOfTyping = false
と変数を作ります。これで、最初かどうかを真偽で記憶させます。
これを使い、if文で真偽判定を使って表示させます。
if userIsMiddleOfTyping{
let textCurrentDisplay = display!.text!
display!.text = textCurrentDisplay + digit
}else{
display.text = digit
userIsMiddleOfTyping = true
}
これで最初の文字は押した番号、次からは文字が追加されるようになりました。