目指せ!iPhoneアプリ開発エキスパート

第4回 初めてのプログラミング

この記事を読むのに必要な時間:およそ 3.5 分

ファイルを生成する

プログラミングをするとは言ったものの,ここまで一度もプログラミングらしいことをしていないことを気にしている方もいらっしゃることでしょう。ですが,心配ありません。アウトレットを作成し,それらをパーツとつなげたことで,すでにいくつかのプログラムを書いてしまっているのです。では実際に,これらの作業でどのようなプログラムが書かれたのかを確認してみましょう。

[File⁠⁠→⁠Write Class Files...]でファイルに書き出す

[File]→[Write Class Files...]でファイルに書き出す

File's Ownerが選択された状態で,Interface Builderのメニューから[File⁠⁠→⁠Write Class Files...]を選択してください。Save ウインドウが表示されたら,⁠Save as: 」に表示されているファイル名を確認し(BargainSaleViewController.m⁠⁠,そのまま「Save」をクリックして保存してください。

すると,すでにファイルがあるのでどうするかを確認するウインドウが表示されますので,⁠Replace」を押してファイルを上書き保存しましょう。

ここまでの作業がプログラムのファイルとして書き出されました。Xcodeに戻り,先ほど保存したファイル ⁠BargainSaleViewController.m)を選択してみましょう。右側のウインドウにプログラムが表示され,アクションとして設定した「myAction1: 」を見つけることができるでしょう。

書き出されたファイルの中身(BargainSaleViewController.m)

書き出されたファイルの中身(BargainSaleViewController.m)

アウトレットは,ヘッダファイルにあります。同じ名前で,.mのかわりに.hとなっているファイル(BargainSaleViewController.h)を選択して中身を確認してください。⁠motone」⁠waribiki」⁠kekka」の3つのアウトレットと,さらに先ほど.mファイルにもあった「myAction1: 」が記述されているはずです。そしてここに見られるプログラミング言語が,Objective-Cです。

あとはアクションの中身,すなわち実際に割引後の金額を計算するためのプログラムを書けば,見事にバーゲン教師の完成です。アウトレットからパーツの中身を取り出し,アクションの中で計算を行い,結果を再度アウトレットを通してパーツに入れる。これがプログラムの基本的な流れとなります。

アクションを書く

では,いよいよアクションを記述しましょう。先ほど開いた「myAction1:」のある.mファイル(BargainSaleViewController.m)を選択して開き,⁠myAction1:」の部分に以下のプログラムを記述してください。

- (IBAction)myAction1:(id)sender {

    int kakaku = [[motone text] intValue];

    switch([waribiki selectedSegmentIndex]){
    case 0:
        kakaku = kakaku * (1.f - 0.2f);
        break;
    case 1:
        kakaku = kakaku * (1.f - 0.3f);
        break;
    case 2:
        kakaku = kakaku * (1.f - 0.4f);
        break;
    case 3:
        kakaku = kakaku * (1.f - 0.5f);
        break;
    default:
        break;
    }

    [kekka setText:[NSString stringWithFormat:@"%d", kakaku]];

}

書き終えたら「ビルドして進行」をクリックします。保存を促すダイアログが表示されたら「すべてを保存」をクリックしてください。ビルドが完了すると,iPhoneシミュレータが起動してアプリが動きます。

テキストフィールドに適当な金額を入力して,セグメンテッドコントロールの割引率を変更してみてください。下のラベルに割引後の金額が表示されれば,大成功です。割引率を変更すると,割引後の金額も変わります。

割引率を変更したタイミングで結果が更新される

割引率を変更したタイミングで結果が更新される

Cocoa Touch がもたらすもの

ここまでを振り返ってみると,実際にプログラムらしいものを書いたのは,最後に埋めた「アクションの中身」だけです。このアクションは,アプリの機能や性能を決める大切な部分でもあります。逆に言えば,アクションの中身を書く以外の部分は,すべてのアプリ開発で共通して行う作業であると言えます。

Interface Builderを使って楽にアプリの枠組みを作ってしまえば,開発者はアクションの中身を書くことにより多くの時間を費やすことができます。これがCocoa Touchを使う最大のメリットなのです。

次回は

次回は,アクションに記述したObjective-Cプログラムの動作と,Cocoa Touchのパーツにアクセスする様々な方法について学びます。プログラミングの要素が増え,少しずつ難易度も上がっていきますが,あせらずに順序よく身につけていきましょう。

著者プロフィール

皮(かわ)

1980年宮崎県生まれ。納豆好き。

アイフォーンの皮:http://mixi.jp/view_community.pl?id=3531790