2017年4月13日木曜日

vol.308 iOSアプリ:足し算プログラム

今度は、前回から画面として用意している、加算画面に足し算ができる機能を付けます。

①まずは、足し算をさせるために必要な部品をstoryboard上に貼り付けていきます。
計算するための数値を入力するText Filedが2つ。
足し算を表わす「+」をただ表示するだけのLabelが1つ。
押された時に加算処理をさせるための「=」のButtonが1つ。
加算結果を表示するためのLabelが1つ。フォントサイズを大きめにして、右端に設定しています。

②実際に「=」のボタンが押された時に足し算されるよう、処理を記述していきます。
その前に、足し算の処理をするにあたって、影響や関連がある、部品をSwiftのクラスに登録します。
ここでは、「+」のLabel以外を登録します。(下のキャプチャでは既に名前を設定済みですが。。)
ここから、TextField2つ、「=」のButton、結果表示のLabelをControlキーを押しながら、Swiftクラスのソースへドラッグします。
ドラッグして手を放したらソース上で扱うための変数名を設定します。

すると、こんな感じに。
今度は、「=」ボタンが タップされた時のイベント(Touch Down)をSwiftクラスに登録します。
「=」ボタンを選択して、Cotrol + 右クリックで「Touch Down」右横の◯にカーソルを当て、その◯の中に+がある状態でドラッグして、Swiftクラスまで引っ張ります。
手を放したら、こちらも同様に名前を設定します。
すると、このようにメソッドが作られます。
作ったメソッドの中に、足し算の処理を追加します。
この例では、data1とdata2の数値を足し算し、resultのラベルに結果を格納する処理を記述します。
さぁ、これで実行してみましょう。
あれ?「=」ボタン押したけど、足し算じゃなくて、ただくっついただけ?

そうです。単純にdata1とdata2の数値をくっつけただけ。
というのも、TextFiledの値は文字として扱われるので、文字でいう、+はくっつけるという意味になります。
なので、プログラム上は正しい処理になります。

足し算を実現するためには、文字として扱われているものを数字に変換します。
その結果、こんな感じになりました。
単純に文字列を数値に変えて、計算して終わり…かと思いきや、文字列を数値に変えられなかった場合などのイレギュラーなケースを想定した作りにしないといけない仕様になっているようです。なんと面倒な!
…この辺の話は、別の記事でお話します。
あと、警告(Warning)も出ていますが、消す術がないので、とりあえず放置で。。

とりあえず、これで無事に足し算ができるようになりました。

0 件のコメント:

コメントを投稿