Cocoaアプリケーションのテンプレート - Cocoaプログラミング

アプリ開発は新規プロジェクトからですが、自動で生成されるテンプレートを一度見てみましょう。

てくっち

てくっち

てくっち

新規プロジェクトで、Cocoaアプリケーションを選びます。

てくっち

てくっち

アプリケーションの名前は、MyAppにします。

てくっち

てくっち

Finder上でこのプロジェクトのフォルダを開くと、次のようなファイルができてます。

てくっち

てくっち

Xcode上では次のように見えます。

てくっち

てくっち

Finderで見たファイル構成とぜんぜん違う! しかもそれ以外のファイルもたくさん見えます!

てくっち

Xcode上では便利なように、こういうふうに配置してくれてます。

てくっち

Xcode上のMyAppフォルダの中では、ファイルを好きに配置できます。

てくっち

さていくつかのファイルの内容を見ましょう。

てくっち

てくっち

自分でつけたアプリの名前+AppDelegateなんちゃらというファイルが2つあります。

てくっち

.hファイルと.mファイルで1つのクラスを表しています。MyAppAppDelegate.hを見てみましょう。

てくっち

てくっち

インスタンス変数に、NSWindowクラスのwindowがあり、それはプロパティにも公開され、しかもアウトレットになっています。

てくっち

てくっち

こういうふうに2つのオブジェクトがつながっています。矢印の元のオブジェクトが、矢印の先のオブジェクトを知っているという関係だと言えます。

てくっち

てくっち

次にMyAppAppDelegate.mを見てみましょう。.mはObjective-Cの実装ファイルです。

てくっち

てくっち

applicationDidFinishLaunching:というメソッドの実装があります。

てくっち

てくっち

このメソッドはどのオブジェクトが呼ぶのか?

てくっち

このメソッドは.hで宣言されてないのにここで実装だけ書いちゃっていいのか?

てくっち

このメソッドの引数の、NSNotificationクラスってなんだ?

てくっち

とかいろいろ疑問が出てきたらしめたものです。

てくっち

てくっち

さて最後に、NIBファイルである、MainMenu.xibを見てみましょう。

てくっち

てくっち

このように、NIBファイルに格納されているオブジェクトなどがアイコンになって並んでいます。

てくっち

てくっち

MyAppAppDelegateオブジェクトを調べてみましょう。アイコンの上でcontrol クリックします。

てくっち

てくっち

このオブジェクトはwindowをアウトレットとし、File's Ownerのdelegateがこのオブジェクトをアウトレットにしていることがわかります。

てくっち

てくっち

つまりこういう関係です。

てくっち

てくっち

Windowも見てみましょう。

てくっち

Windowアイコンの上でcontrol クリックします。

てくっち

てくっち

たくさん出てきて一瞬気が遠くなりますが、よく見ると今つながってるのは1つだけ。

てくっち

このWindowが、MyAppAppDelegateのアウトレットになっていることがわかります。

てくっち

さて最後に、オブジェクトのアイコンが並んでるところの下の方にある、

てくっち

てくっち

この矢印の部分をクリックすると、このような表示に変わります。

てくっち

Windowの左にある三角をクリックすると、

てくっち

てくっち

このように、Windowが、1つのViewを含んでいることがわかります。

てくっち

てくっち

つまりこういう関係です。

てくっち

以上まとめると、

てくっち

てくっち

このように、全部で4つのオブジェクトが、つながっています。

てくっち

iPhoneアプリのプロジェクトについても、同じように調べてみてください。