2017年4月19日水曜日

vol.314 iOSアプリ:値を渡しての画面遷移

画面遷移をする時、場合によっては前の画面のデータを遷移先の画面で使ったり、加工したりする場面が出てくると思います。
今回はその方法を実践してみます。

今作っているサンプルアプリの例では、加算画面で入力された二つの数値の足し算の結果を電卓画面に表示させます。
といっても、現段階で電卓画面は、戻るボタンしかないので、計算結果表示用のラベルを先に追加してそこに加算画面から渡された、数値を表示します。

まず、準備として、加算画面に電卓画面に結果を表示させる処理行うボタンを実装します。
分かりやすく赤いボタンにしました。
ソースにボタンとTouchDown イベントを登録するのをお忘れなく。
ここで言うところの、moveCalcButtonがボタンの変数名、moveCalcButtonTouchが赤いボタンが押された時に処理するメソッドです。

続いて電卓画面に結果表示用のラベルを追加。
ラベルの背景を黒にして、白文字にしました。
ちょっと電卓っぽくなりましたかね?

同じように今度は、電卓のSwfitクラスに結果表示のラベルを登録します。
これで準備は完了。

いよいよ、ソースを追加します。
まずは、加算画面のSwiftクラスから。
赤いボタンが押されたら、足し算をして、その結果を電卓画面に渡す…というところまでの処理を記述します。
ポイントは画面遷移が始まる前に、足し算を行わせて、電卓画面のSwiftクラスにある変数に足し算の結果を格納しているところです。

これは、遷移先の電卓画面のSwiftクラス。
画面が呼び出されて最初に処理されるメソッドで結果表示用ラベルに先程計算結果が格納された変数の値をセットします。
変数の値が格納されていない場合も想定し、if文でnilでない時だけ格納するようにしています。

これで問題なく遷移先の電卓画面で値が表示されるはずです。

0 件のコメント:

コメントを投稿