はてなブックマークに追加

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
はてなブックマークに追加

iPhoneアプリ・電卓をつくる その3




サイトを移行しました。
iPhoneアプリと、そのプログラム


さて、前回
iPhoneアプリ・電卓をつくる その2
はiPhoneプログラミングの概要だけで終わってしまったので、
今日は、実際にプログラムを書いていきます。

Calc1ViewController.h
@interface Calc1ViewController : UIViewController {
IBOutlet UILabel *label;
int count;
}
-(IBAction) plusButtonPressed;
@end


もういちど、前回のプログラムイメージを再掲します。
ここで、今回のカウンタプログラムの場合、
この図の各部分が何に相当するのかを考えてみましょう。

calc5.jpg

まず、ユーザイベントは「+ボタンの押下」で、
画面更新は、「UILabelの更新」ですね。

そこで、ボタンが押されたときに呼ばれる自作関数plusButtonPressedには
IBActionを付けて定義しています。また、画面更新の対象であるUILabelには
IBOutletをつけて宣言しています。これは、前回の説明通りです。
あとはボタンが押下されたときに呼ばれる関数の中身を実装するだけです。

Calc1ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
count = 0;
}

-(IBAction) plusButtonPressed
{
count++;
label.text = [NSString stringWithFormat:@"%d", count];
}


まずは、何回「+ボタン」が押されたのかを保持する変数
countをヘッダファイルに宣言しておき、viewDidLoad関数の中で初期化します。
基本的にはviewDidLoad関数のなかで変数を初期化するようにしておけば大丈夫です。

最後に、ボタンが押下されたときに呼ばれる関数plusButtonPressedの中身を見ていきます。
まず、countをインクリメントしておき、その値をLabelとして表示するため
stringWithFormatという関数を用いて、int型をNSString型に変換しています。
その結果をlabel.textに代入することで、画面上の表示が更新されます。


さて、もう一度インタフェースビルダーに戻って、
イベントと自作関数、画面更新を関係付けます。
具体的には、上図の青矢印と赤矢印を引く感じですかね~。

まずは、IB(Interface Builder)のCacl1ViewController.xibウインドウから
File's Ownerを選択した状態にします。
calc7.jpg

この状態で、インスペクタをみると
このような状態になっているかと思います。

calc10.jpg

この状態でlabelの右側にある○からViewウインドウのUILabelに向けてドラッグします。
同様に、plusButtonPressedの右側の○から+ボタンに向けてドラッグし、
touch up insideを選択します。

うまくいけば、このようになるかと思います。

calc8.jpg

あとはXcodeに戻ってコンパイル&実行すれば
うまくカウンタが動作するはずです。

ここまでのプロジェクトファイルをここに置いておきます。
Calc1.zip


さてさて、宿題です。
(ゼミ資料を兼ねてるもので・・・笑)
これまでのカウンタプログラムにクリアボタンをつけて、
クリアボタンが押されたときにはカウントを0に戻すようにしてみてください。

こんな感じです。

calc9.jpg

クリアボタンをつけたバージョンのプロジェクトファイルをここに置いておきます。
Calc2.zip



スポンサーサイト

コメントの投稿

非公開コメント

開発アプリ

iDOF 色影 ラテアート ぱすてる

プロフィール

Author:hokuson
京都在住。iPhoneアプリ「色影」や「iDOF」の開発者。アプリのレビューとかもしてみる。博士後期課程@R大学。ついに就職活動なるものをしなければいけないらしい。誰か雇ってください。笑。

カレンダー
01 | 2017/02 | 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 - - - -
カテゴリ
最新コメント
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。