2009-04-17 15 views
14

MainWindow.xibファイルにサンプルアプリケーション(つまり、タブバーアプリケーションなどで起動)を作成すると、File's Owner、First Responder、App Delegateの5つの項目が表示されます、ウィンドウ、およびタブバーコントローラー。iPhone Interface Builderと代理人

私は別の.xibファイルを作成し、その代理人を作成し、そのファイルの所有者を私が作成した新しい代理人に設定すると、...オブジェクトのリストに "NewDelegateFile" ).xibのために。

これは私には意味がありません。私はiPhone開発にすばやく取り組んでいない理由の大部分です。

誰も私にその小さな特異性を説明する時間がかかりますか?

+1

私はほぼ同じ質問をもう一度尋ねました。http://stackoverflow.com/questions/1911916/placeholder-objects-in-interface-builderこれらの答えは、より詳細な情報を提供し、混乱を避けてください。 – Casebash

答えて

24

ファイルオーナーは、xibファイルの実際のオブジェクトではありません。これはプロキシオブジェクトです。これは、ロード時にxibの所有者になるオブジェクトを表します。最初のレスポンダとApp Delegateもプロキシです。最初のレスポンダは、レスポンダチェーンの最上位にあるオブジェクトです。アプリケーションの状態が変化すると、別のオブジェクトが最初のレスポンダになる可能性があります。このプロキシオブジェクトを使用して、File-> Saveメニューのようなものを、任意の時点で処理するオブジェクトに接続します。

App Delegateは実際のオブジェクトです。 xibがロードされると、それは生きるために湧き出る。 Interface Builderで見ることができるように、それはファイルの所有者のデリゲートアウトレットに接続されています。アプリケーションはMainWindow.xibをロードします。そのため、ファイルの所有者です。

他のxibファイルは、通常、委任オブジェクトを通じて読み込まれます。その代理オブジェクトはファイルの所有者です。しかし、デリゲート自体はコードからインスタンス化されています。 xibからロードされません。そのため、Interface Builderには表示されません。

xibファイルには、実際のシリアル化されたオブジェクトが含まれています。 File's OwnerとFirst Responderは例外です。それらは他の既存のオブジェクトを表します。

File's Owner(多くの場合、MainWindow.xib以外のファイルのUIViewDelgate)はチキンです。 xibは卵です。鶏肉自体は卵に含まれていません。

少し長い。それが役に立てば幸い。

+1

私はこの答えを無視していませんでした。それはちょうど私の周りを遊んで、それを理解するために何度も何度も読んでいました。そして今、私はそうすると思います。本当にありがとう。私の心がどのようになるべきかとはちょっと違うだけですが、私は頭をこのように考えようとし続けます。あなたのお返事をありがとうございました。 –

関連する問題