libro
www.tuyano.com
初心者のためのiphone/ipadプログラミング入門

Interface Builderを使ってアプリを作成する! (5/5)

作成:2011-03-17 08:12
更新:2011-03-17 08:12

■UIViewControllerクラスの実装

さあ、残りは「MyIAppViewController.m」(または、◯◯ViewController.m)のソースコードの作成です。下のリスト欄に掲載しておきますので、このように記述をしてください。

ここでは、いくつかのポイントがあります。まず、プロパティの記述部分を見てください。以下のようになっていますね。
@dynamic label1;
@dynamic field1;
プロパティは、@dynamicというコンパイラディレクティブをつけて記述します。これは、実行時に動的にアクセサが生成される場合に使うものです。GUIコンポーネントを接続するプロパティは、静的にアクセサを用意することができませんので、必ず@dynamicを指定しておきます。

続いて、メソッドの実装を見てみましょう。ここでは3行の割と簡単な文が記述されていますね。それぞれの働きをざっと整理しましょう。
id str = [field1 text];
textUITextFieldに記述されているテキストをNSStringとして取得するものです。これで書かれたテキストを変数に取り出します。
id msg = [NSString stringWithFormat:@"Hello, %@!!",str];
NSStringstringWithFormat:を使い、"Hello, ◯◯!!"というテキストを生成します。
[label1 setText:msg];
最後に、UILabelの表示テキストに変数を設定します。setText:は、引数のNSStringを表示テキストに設定するものです。

とても簡単ですが、これで入力されたテキストを使ってLabelに表示する、簡単なサンプルが出来ました。実際に「ビルドと実行」ボタンを使って、エミュレータで動作を確認してみましょう。ちゃんとボタンをクリックすると、テキストが変わるでしょう?

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※MyIAppController.m

#import "MyIAppViewController.h"

@implementation MyIAppViewController

@dynamic label1;
@dynamic field1;

- (IBAction)btn1Action:(id)sender {
	id str = [field1 text];
	id msg = [NSString stringWithFormat:@"Hello, %@!!",str];
	[label1 setText:msg];
}

……中略……

@end

※関連コンテンツ

「初心者のためのiphone/ipadプログラミング入門」に戻る