Swift5+Xcode11.6
シリーズ2の2回目です。
おそるおそるSwift 2-1 デンタッキー(電卓)を作る ~まずは形から~
Swift5+Xcode11.6 基本コンセプト 誰でも思いつくと思いますが、とりあえず「電卓」を作ってみようと思います。とはいえ、せっかくディスプレイがあるので、右の画像のように、できれば入力履歴が残るものにしたいと […]
今回のゴール
続きです。下の動画のように、デンタッキーがボタン入力結果を表示できるようにします。コードはContentView.swiftに書きました。
import SwiftUI struct ContentView: View { @State var inputArray :[String] = [] //キーボード入力内容を格納 func outputStr() -> String { var str1 :String = "" for item in self.inputArray { str1 += item } return str1 } var body: some View { VStack { Text("\(self.outputStr())") .font(.largeTitle) .fontWeight(.heavy) .foregroundColor(Color.red) .multilineTextAlignment(.trailing) .frame(width: 300.0)
上の方しか変えていませんので、後半のコードは省略します。
ユーザー定義関数outputStr()を定義しました。内容は簡単なもので、inputArrayの内容を全部str1に書き出すというものです。for A in B {} という構文も VBAコーダーにはなじみにくいものですが、for item in 配列名 {}で配列の全部の要素をループするというように覚えることにしました。
そしてテキストフィールドに、self.outputStr()の内容を表示させるように変更しました。
「+とか=がそのまま表示されちゃっているじゃないか」とつっこまれそうですが、単なる文字としてしか認識させていないから当たり前です。
次回は
Cキーを押したら、入力内容をクリアするようにします。