のXcodeのアプリケーションテンプレート:-)
おかげで、その所有者としてNSApp
をロードするMainMenu.xib
を設定します。これはNSApplicationMain
関数によって行われます。 NSApplicationMain
は、アプリのInfo.plist
ファイルのNSMainNibFile
というキーを検索します。そのキーを見つけたら、対応する値をロードするnibファイルの名前として使用します。 XcodeのアプリテンプレートはNSMainNibFile
〜MainMenu
に設定されています。
このようにする必要はありません。 Info.plist
のNSMainNibFile
のエントリを変更または削除することができます。あなたはでなくてもを使用することができますNSApplicationMain
。代わりに([NSApplication sharedApplication]
を呼び出して)を初期化してから、ユーザーインターフェイスをプログラムで作成するか、nibsを読み込んでから[NSApp run]
を呼び出してください。
nibローダーは、ロードするペン先のオブジェクト、またはFile's Owner、First Responder、またはApplicationにのみアウトレットを接続できます。アウトレット自体はFile's Ownerである必要はありません。ペン先の任意のオブジェクト上に置くことができます。
Fileの所有者のクラスを設定すると、Interface Builderはソースコードをスキャンして、そのクラスの宣言を検索します。これは、File's Ownerが持つべきアウトレットとアクションを知る方法です。
一般に、アプリケーションデリゲートはアプリケーションのトップレベルコントローラです。さまざまなアプリケーションレベルのイベントが発生したときに通知されます。 NSApplicationDelegate Protocol Referenceを見てください。
Xcodeのアプリケーションテンプレートでは、アプリケーションデリゲートはMainMenu.xib
のオブジェクトです(ペン先にはユーザーインターフェイス以外のオブジェクトを持つことができます)。ファイル所有者のdelegate
コンセントに配線されています。必要に応じてクラスを変更することができます。ペン先からオブジェクトを完全に削除することもできます。しかし、どんな深刻なアプリにもアプリケーションデリゲートが必要です。
[Apple Doc - 最初のiOSアプリケーションの作成](http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iPhone101/Articles/00_Introduction.html#//apple_ref/) doc/uid/TP40007514);具体的には、*基本的なデザインパターンを理解する*の部分です。 – chown
私はそれほど多くのことを理解しています。詳細は – rubixibuc