[iOS]iPad/サンプルアプリを用いたiPadシミュレータ動作確認

昔の、SDK4.2のころの話。

=====

まずは、シミュレータ上で動作するサンプルアプリについて記載する。

Xcode起動

開発環境である、Xcodeを起動する。

  • 「/Developer/Application」直下にある「Xcode.app」を起動

プロジェクト新規作成

メニューから新規 → プロジェクト作成を選択
View-based ApplicationでHelloWorldプロジェクトを作成

各ファイル

View-based Applicationのプロジェクトにおいて プロジェクト名を”Example02”とした場合の説明になります。

  • Main.m
    NSAutoreleasePoolの初期化と開放処理以外は、UIApplicationMain関数を実行しています。
    このUIApplicationMain関数では、XIBリソースのロードと初期化を行い、完了後にInfo.plistファイルに記述しているメインXIBのApp Delegateのクラス(今回はExample02AppDelegateクラス)に対して、applicationDidFinishLaunching:(UIApplication)applicationをコールします。
  • Example02AppDelegate.m
    applicationDidFinishLaunching:(UIApplication)applicationでは、windowオブジェクトにviewControllerオブジェクトのviewプロパティをsubViewに追加しています。
    これによってExample02ViewControllerが画面に表示されるようになります。
    Example02AppDelegate.mクラスでは、windowオブジェクトやviewControllerオブジェクトの生成・初期化は一切行っていません。
    これらのオブジェクトはXIBロード時に自動でXIBの設定どおりにすべてバックグラウンドでやってくれています。
  • Example02ViewController.m
    このソースファイルは、ほとんどがコメントアウトされています。必要な場合はコメントアウトを外して、自分で実装していきます。

コード修正

以下のファイルを修正。

  • HelloWorldViewController.h
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController {
    //IBOutletはInterfaceBuilderで使用する変数だということを宣言する構文です。
    //これがないとInterfaceBuilderで見つけることができません。
    IBOutlet UITextField*myInput;
}
//ボタンハンドラとしてtapHello関数を宣言します。
//InterfaceBuilderでイベント設定する関数はすべてこの形式(戻り値がIBActionで引数がid型1つ)で宣言します。
-(IBAction)tapHello:(id)sender;
@end
  • HelloWorldViewController.m
#import "HelloWorldViewController.h"
@implementation HelloWorldViewController
-(IBAction)tapHello:(id)sender{
    //タップされた場合には、helloTextのtextプロパティに文字列Helloをセットします。
    myInput.text = @"Hello iPad!";
}

Interface Builderを使用してUI作成

  • MainWIndow.xibを起動
  • Windowがひらくので、そこにLibraryからTextFieldとボタンをおく
  • Ctrl押しながらさっき置いたボタンをクリック
  • Touch up insideをクリックして、線をつなぐ
  • テキストフィールドのほうもCtrlクリックで、さっきと同じ場所に線をつなぐ。

ビルド

メニュー → ビルド → ビルドと実行 → 自動で作成したアプリが起動します。

動作確認

ボタンをクリックすることでHello Word!という単語がテキストフィールドに表示されます。

コメント

タイトルとURLをコピーしました