Hello Cocoa World!
今回の目的
タイトルにある通り、定番の"Hello World!"を出力させながらCocoaについて勉強します。
これからアプリケーション開発を行う上での土台になると思うので、馬鹿丁寧に書きます。
プロジェクト作成
Xcodeから [ファイル] → [新規プロジェクト] メニューを選択します。
すると、新規プロジェクトウィンドウが開かれるので、[Mac OS X] → [Application] カテゴリ下にある [Cocoa Application] を選択します。
プロジェクト名は "Hello World" とでも付ければ良い。
クラスの作成
[ファイル] → [新規ファイル] メニューを選択します。
[Mac OS X] → [Cocoa] カテゴリ下にある [Objective-C class] を選択します。
クラス名は "AppController" とでも付けておく。
このとき、AppController.h も作成し、これらをClassesのグループへ移動しておきます。
クラスの宣言
AppController.h を編集します。
#import <Cocoa/Cocoa.h> @interface AppController : NSObject { IBOutlet id textField; } - (IBAction)sayHello:(id)sender; @end
Interface Builder起動
GUIのデザインをおこないます。
xibファイル
[グループとファイル] → [Resources] ディレクトリ下にある [MainMenu.xib] ファイルを開きます。
Interface Builderのウィンドウ
ライブラリで [Cocoa] → [View&Cells] → [Inputs&Values] に存在するテキストフィールドをウィンドウへドラッグして追加します。
次にライブラリで [Cocoa] → [View&Cells] → [Buttons] に存在するボタンをウィンドウへドラックして追加します。
クラスのインスタンス化
ライブラリで [Cocoa] → [Objects&Controllers] → [Controllers] に存在するObjectという青いキューブを、xibウィンドウにドラッグして追加します。
次に、Objectを選択した状態で、インスペクタウィンドウの左から6番目のIdentityタブを選択します。Classコンボボックスから [AppController] クラスを選択します。
これでAppController がインスタンス化されます。
アウトレットとアクションの接続
これから関連付けをおこないます。
textFieldアウトレット接続
[AppController] のインスタンスを選択します。そして、コントロールキーを押しながらドラックし、ウィンドウに配置したテキストフィールドまで持っていき、ドロップします。
黒いウィンドウが表示されるので、textFieldを選択します。
これで、アウトレット接続完了です。
sayHello:アクション接続
ウィンドウに配置したボタンを選択します。そして、紺とロルキーを押しながらドラックし、[AppController] のインスタンスまで持っていき、ドロップします。
黒いウィンドウが表示されるので、sayHello:を選択します。
これで、アクション接続完了です。
AppControllerの実装
AppController.m を編集します。
#import "AppController.h" @implementation AppController - (IBAction)sayHello:(id)sender{ [textField setStringValue:@"Hello World!"]; } @end
ビルドと実行
[ビルド] → [ビルドして進行] メニューを選択。
問題がなければ、アプリケーションが起動します。