03:ドル円換算機

Counter

RainbowApps iPhoneアプリマスターコースの第3講では、ドル円換算機アプリの制作を行います。ユーザーがインプットした入力値を計算して出力値を出す、このフローを理解しプログラミングしていくことでメソッドの作り方、使い方などを学ぶことができます。

ドル円換算機アプリは、ユーザーがテキストフィールド(Text Field)に金額を入力し、キーボードの「Return」を押すと換算結果が表示されます。また、セグメンテッドコントロール(Segmented Control)により「ドル→円」換算と「円→ドル」換算の切り替えを行います。

まずStoryBoardでは動的なラベルを4つ配置します。

ドル円換算機

レートを表示するラベルの値はコード上で設定します。このアプリでは80.5円ですが、その時の通貨レートによって任意で変更することができます。
“円”と”ドル”の通貨ラベルは換算の切り替えを行った時に変化します。
結果ラベルには最初は0.00と入力しておきます。

さらにText FieldオブジェクトとSegmented Controlオブジェクトを配置します。

ドル円換算機

第2講座で制作したカウンターアプリは整数を扱うint型の変数を使用しましたが、今回は少数を扱うことができるdouble型の変数を使い換算を行います。

また「ドル→円」換算と「円→ドル」換算の切り替えをbool型の変数を使って、条件設定を行います。例えばbool型変数がTRUEなら「ドル→円」換算、FALSEなら「円→ドル」換算という具合です。この切り替えによりラベルに表示する通貨が変化します。

ドル円換算機

このアプリでは下記の3つのメソッドをコーディングします。
1.「円→ドル」「ドル→円」換算メソッド
2.通貨換算切り替えIBAction型メソッド
3.UITextFieldクラスのメソッド

1.「円→ドル」「ドル→円」換算メソッド

「円→ドル」換算が選ばれているときは、入力された円をレートで割った金額を計算し、その金額を結果ラベルに表示します。
【例】入力値:100(円) レート:1ドル80.5円 計算結果:1.24ドル
【計算式】100(円) / 80.5(レート) = 1.24(ドル)
※プログラム上では割り算の計算式は / (スラッシュ)を使用します。
「ドル→円」が選ばれているときは、入力されたドルにレートを掛けた金額を計算し、その金額を結果ラベルに表示します。
【例】入力値:100(ドル) レート:1ドル80.5円 計算結果:8050円
【計算式】100(ドル) * 80.5(レート) = 8050(円)
※プログラム上では掛け算の計算式は * (アスタリスク)を使用します。

2.通貨換算切り替えIBAction型メソッド

Segmented Controlの切り替えに対して、通貨ラベルを変化させます。また「円→ドル」「ドル→円」換算メソッドを使って、切り替えられた時の換算結果を結果ラベルに表示させます。
UISegmentedControlにはselectedSegmentIndexというプロパティが用意されており、セグメントの切り替えを管理することができます。

3.UITextFieldクラスの通知メソッド

テキストフィールドに金額を入力し、キーボードの「Return」が押されたときに呼ばれる処理です。
これは- (BOOL)textFieldShouldReturn:(UITextField *)textField;というUITextFieldクラスのデリゲート通知を使ったメソッドになります。
ユーザーが数字を入力しReturnを押すと、その数字をdouble型に変換し、「円→ドル」「ドル→円」換算メソッドを呼び出して結果を表示させます。

最後にStoryBoardでViewControllerで宣言したUILabel、UITextField、UISegmentedControlにひも付けします。またIBAction型メソッドもセグメンテッドコントロールにひも付けします。

これでドル円換算機の完成です。

ドル円換算機

この講座のポイントはメソッドの使い方を覚えることです。今回使用したUITextFieldクラスのメソッドのように、用意されたクラスメソッドも多くあるので、その使い方をよく理解しましょう。
iOSに用意された様々なクラスの機能を組み合わせることによってより高度なアプリを制作することができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ