ビューの切り替え、切り替え時のアニメーション設定、ビュー間のデータ受け渡し方法
Wei-Meng Lee [著] japan.internet.com [訳] 2009/11/02 14:00

サンプルソース 619.94 KB
1 2 3 4 →

はじめに

 iPhoneプロジェクトのプログラミングを始めるとき、最初に学ぶものの1つがView Controllerです。単純なアプリケーションを動かすのに必要な作業の量に、初心者はひるんでしまうかもしれません。けれども、iPhoneのUI処理のかなりの部分はView Controllerのプログラミングで行うので、View Controllerの仕組みを理解することはiPhoneプログラミングに不可欠です。

 この記事では、iPhoneプログラミングにおけるView Controllerの概念と使い方を説明します。この記事を読めば、View Controllerを的確に理解でき、素晴らしいアプリケーションを作成するのに役立つでしょう。

プロジェクトの作成

 いつものとおり、ここでも実際のプロジェクトを作成して、何がどうなるのか見てみるのが1番です。まず、Xcodeを起動し、「VCExample」という名前のView-based Applicationプロジェクトを新規作成します(図1を参照)。

図1 新しいプロジェクトの作成:Xcodeの[新規プロジェクト]画面で[View-based Application]を選択する
図1 新しいプロジェクトの作成:Xcodeの[新規プロジェクト]画面で[View-based Application]を選択する

基本の理解

 この新しいプロジェクトには、Xcodeで自動的に作成される複数のプロジェクトテンプレートが含まれています。これらのテンプレートには、通常の動作に必要な基本的コードが入っているので、このコードについて見ていきましょう。

※筆者注

 iPhoneアプリケーションを作成したことがない場合は、筆者の前の記事「iPhone徹底解剖:最初の一歩原文)」と、次の補足記事「Objective-Cのファイルの種類」を参照してから、この記事に進むことをおすすめします。

【補足記事】Objective-Cのファイルの種類

 Objective-Cでは、どのクラスも拡張子.hと.mの2つのファイルで定義します。.hファイルには、クラス自体のほかに、メンバ変数、メソッド、プロパティの宣言を記述します。.mファイルには、クラスの実装コードを記述します。

 XIB(.xib)ファイルは、アプリケーションのUIを表すファイルです。XIBファイルの編集には、Interface Builderを使うのが最も簡単で、iPhoneアプリケーションのUIを視覚的に作成できます。

 ではまず、この新しいプロジェクトに4つのソースコードファイルが含まれていることを確認してください(図2を参照)。

図2 デフォルトのファイル:新しいView-based Applicationにデフォルトで作成されるファイル
図2 デフォルトのファイル:新しいView-based Applicationにデフォルトで作成されるファイル

 最初の2つ、VCExampleAppDelegate.hとVCExampleAppDelegate.mは、アプリケーションのロードとアンロードを処理します。次の2つ、VCExampleViewController.hとVCExampleViewController.mは、ビューのロードとアンロードを処理するView Controllerクラスを定義します(ビューはiPhoneの画面のようなものです。.NETプログラミングのWindows Formに相当します)。また、2つのNIBファイル、VCExampleViewController.xibとMainWindow.xibも含まれています。MainWindow.xibには、アプリケーションのロード先となるメインウィンドウが含まれます。そこには、基本的に「VCExampleViewController.xib」ファイルに含まれるビューがロードされます。

 「VCExampleAppDelegate.h」ファイルの内容は次のようになっています。

#import <UIKit/UIKit.h>
@class VCExampleViewController;
@interface VCExampleAppDelegate : 
   NSObject <UIApplicationDelegate> {
    UIWindow *window;
    VCExampleViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet 
   VCExampleViewController *viewController;
@end

 このファイルでは、「VCExampleViewController」という名前のView Controllerオブジェクトを定義しています。アプリケーションの初期化が完了すると、applicationDidFinishLaunching:イベントが発生します。このイベントは「VCExampleAppDelegate.m」ファイルで処理され、このView Controllerのビューがロードされます。

#import "VCExampleAppDelegate.h"
#import "VCExampleViewController.h"
@implementation VCExampleAppDelegate
@synthesize window;
@synthesize viewController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    
    // Override point for customization after app launch    
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}
- (void)dealloc {
    [viewController release];
    [window release];
    [super dealloc];
}
@end

 「MainWindow.xib」をダブルクリックすると、Interface Builderでこれを編集できるようになります。MainWindow.xibウィンドウを見てください(図3を参照。リストモードの画面です)。

図3 MainWindow.xib:リストモードで表示した「MainWindow.xib」ファイルの内容
図3 MainWindow.xib:リストモードで表示した「MainWindow.xib」ファイルの内容

 ここには、VCExampleViewController型のView Controller、つまりVCExampleViewControllerクラスのインスタンスが含まれています。このView Controllerインスタンスを選択し、Identity Inspectorウィンドウを表示すると、これを確認できます(図4を参照)。

図4 Identityの確認:VCExampleViewControllerインスタンスのIdentity Inspector表示
図4 Identityの確認:VCExampleViewControllerインスタンスのIdentity Inspector表示

1 2 3 4
→
INDEX
iPhoneプログラミングの基礎:View Controller
Page1
はじめに
プロジェクトの作成
基本の理解
新しいView Controllerの追加
ビューの切り替え
切り替えのアニメーション
ビュー間のデータの受け渡し
プロフィール
Wei-Meng Lee Wei-Meng Lee

Microsoft MVP受賞者。Microsoft社の最新テクノロジー実地研修を専門とするDeveloper Learning Solutions社を創設。.NETとワイヤレステクノロジーの開発者、指導者として知られる。国際的なカンファレンスでたびたび講演し、.NET、XML、ワイヤレステクノロジーに関する著書、共著書多数。.NETからMac OS Xに至るまで広範な分野について執筆している。著書に『.NET Compact Framework Pocket Guide』(Oreilly&Associates Inc、2005年5月)、『ASP.NET 2.0: A Developer's Notebook』(Oreilly&Associates Inc、2005年6月)、『Programming Sudoku』(Apress刊、2006年3月)など。ブログ「Wei-Meng Lee's Blog」を開設している。


プロフィール
japan.internet.com ジャパンインターネットコム

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。


注目の求人情報
コンサルタント/金融業界に強いITコンサルティングファーム
シニアITコンサルタント: オープン系最先端金融業界向けソフトウエア設計および開発 お客様の要件定...
技術営業・マーケティング/社名非公開
当社はクレジットカードのシステムの提案・設計・開発・運用を行っています。 特定顧客に対し、システ...
プロジェクトマネージャー/Web制作会社
WEBサイト新規立ち上げ、ポータルサイトの新規コンテンツの制作などの、WEBサイト「開発」の、プロジェ...

(最新日付順)
名前(ゲストの方もコメントをどうぞ):*
アイコン:
なし

内容(テキストのみ1200文字まで):*

投稿規定に同意して

スポンサーサイト

この記事のトラックバックURL: