- 2010-01-09 (土) 1:06
- iPhone | iPhone SDK 3
前回、iPhoneアプリ HelloWorld その1で、Viewの部分、UIを作成したので、
次に、オブジェクトの生成、表示とイベント処理用のクラスを作ります。
1. ViewControllerの働き。
- 前回作成した、リソースファイル、XIBファイルを読み込んで、
画面オブジェクトを作成して表示させる処理 - ボタンをタップしたとき時に発生する、イベント処理
2. ViewContorllerクラスの作成

左のプロジェクトウインドウから、「グループとファイルリスト」内の、
「Classes」を右クリックして、「追加」-「新規ファイル」を選択します。

「iPhone OS」の「Cocoa Touch Class]から「UIViewController」を選びます。
既に、XIBファイルは作成済みなので、オプションの
「UITableViewController Subclass」、「with XIB for User Interface」の
チェックを外して、「次へ」をクリックします。

「ファイル名を「HelloWorldViewController.m」と入力し、
「同時に、HelloWorldViewController.hも作成する」をチェックします。
「完了」をクリックします。

「HelloWorldViewController.m」, 「HelloWorldViewController.h」 が、
追加されているのを確認します。
「HelloWorldAppDelegate.m」を開きます。

delegate.mに、HelloWorldViewControllerオブジェクトを生成するコードを記述します。
//
// HelloWorldAppDelegate.m
// HelloWorld
//
// Created by あらびき林檎 on 10/01/07.
// Copyright Splitchin 2010. All rights reserved.
//
#import "HelloWorldAppDelegate.h"
#import "HelloWorldViewController.h"
@implementation HelloWorldAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
HelloWorldViewController *controller = [[HelloWorldViewController alloc]
initWithNibName:@"HelloWorldView" bundle:[NSBundle mainBundle]];
[window addSubview:[controller view]];
[window makeKeyAndVisible];
}
- (void)dealloc {
[window release];
[super dealloc];
}
@end
上記の、10行目と18行目のように、下記のコードを追加します。
- HelloWorldViewControllerのヘッダファイルの読み込み。
#import "HelloWorldViewController.h"
- アプリケーション起動時の、HelloWorldViewControllerオブジェクトの生成。
その時読み込む、XIBファイル名の設定によって、
HelloWorldView.xibの、各UIパーツオブジェクトが生成されるようにします。
// Override point for customization after application launch
HelloWorldViewController *controller = [[HelloWorldViewController alloc]
initWithNibName:@"HelloWorldView" bundle:[NSBundle mainBundle]];
[window addSubview:[controller view]];
ViewControllerと画面オブジェクトを結び付ける
作成した、XIBファイルの画面オブジェクトを、File’s Ownerによって、
HelloWorldViewControllerと、XIBの画面オブジェクトを結びつけます。
※ HelloWorldViewControllerは、UIViewControllerのサブクラスで生成しています
「HelloWorldView.xib」をクリックして、InterfaceBuilderを起動します。
File’s Ownerと、HelloWorldViewControllerのリンク
HelloWorldViewウインドウ上で、「File’s Owner」を選択して、
Inspectorウインドウの「i」マークの「Identity」タブを選択します。

「Class」プルダウンメニューから、「HelloWorldViewController」を選択します。
HelloWorldView.xibクラスと、Viewクラスのリンク
File’s Ownerから、Viewに向かって、Controlを押しながら、
ドラッグすると、青い紐が現れるので、表示されたOutletのポップアップから、
「View」を選択します。

これで、画面オブジェクトと、ViewControllerのリンクが完了しました。
ビルドと、iPhoneシミュレーターでの、画面表示確認
ビルドして、iPhoneシミュレーターで表示確認してみます。
ビルドするSDKバージョンを選択します。ここでは、SDK3.1のDebugを選択しました。

「ビルドと実行」をクリックします

書いたコードにエラーがなければ、iPhoneシミュレーターが起動します。

作成したXIBのUIで、iPhoneアプリが起動しました。
これで、UIは完成しました!
次回は、実際に、アウトレットと、アクションによる、
ボタンに動作を追加していきたいと思います。
【関連記事】
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://splitchin.com/tech/2010/01/09/iphone%e3%82%a2%e3%83%97%e3%83%aa-helloworld-%e3%81%9d%e3%81%ae%ef%bc%92%e3%80%80viewcontroller%e3%81%ae%e8%bf%bd%e5%8a%a0/trackback/
- Listed below are links to weblogs that reference
- iPhoneアプリ HelloWorld その2 ViewControllerの追加 from あらびき林檎。