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


新規プロジェクトで、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アプリのプロジェクトについても、同じように調べてみてください。