ペン先に表示されているカスタムオブジェクトのClass Identityではなく、File's Owner's Class Identityを設定し、そこから接続を確立する必要があるのはなぜですか?ファイルの所有者をnilに設定するとどうなりますか? 私には、ファイルの所有者がいなくてもうまく動作するので、そこから接続することの趣旨は何ですか?xcode xibファイルでFileの所有者が必要とするのは何ですか?ファイルの所有者なしで同じことをすることはできますか?
答えて
A NIBアーカイブされたオブジェクトグラフを表します。ロードすると、そのオブジェクトグラフが再構成されます。つまり、新しくロードされたオブジェクトグラフが、プログラムの既存のオブジェクトグラフにフックされることが必要です。あなたはそれが離れて立っていることを望んでおらず、他のすべてから切り離されています。
新たにロードされたオブジェクトグラフをプログラムのオブジェクトグラフの残りの部分に接続できる方法はいくつかあります。 1つの方法は、NIBで使用可能な一連のプロキシオブジェクトです。アプリケーションオブジェクトのためのものがあります。別のそのようなプロキシオブジェクトはFile's Ownerです。プロキシオブジェクトは、NIBに表現を持ちますが、NIBには実際には含まれていません。 NIB内の他のオブジェクトとは異なり、NIBがロードされるとプロキシによって表されるオブジェクトは作成されず、NIBがロードされる前に存在します。これらのプロキシは、これらの既存のオブジェクトとNIB内のオブジェクトとの間の接続を可能にする。これは、NIBの新しいオブジェクトグラフをプログラムの既存のオブジェクトグラフに接続する方法です。
MainMenu NIBは珍しいです。これは、Cocoaによるアプリケーションの起動時に自動的に読み込まれます。つまり、既存のオブジェクトの方法にはあまり影響がありません。そのNIBには通常、調整の一種であるappデリゲートのインスタンスが含まれています。しかし、通常、他のタイプのNIBには調整コントローラが含まれていません。 (コントローラにはNSArrayController
のような仲介コントローラが含まれていますが、それとは異なります)。むしろ、調整コントローラは通常コードで作成され、多くの場合、NIBのロードを担当します。
たとえば、ウィンドウの調整コントローラとしてNSWindowController
を使用します。ウィンドウはNIBで定義されます。ウィンドウコントローラーはコードでインスタンシエートされます(どのコードでもウィンドウを作成する必要があると判断されます)、NIBがロードされます。 NIBのFile's Ownerでもあります。これは、NIBのウィンドウとトップレベルのオブジェクトを管理します。
ファイルの所有者をnil
に設定している場合、a)おそらく非常に単純なNIBをこの時点で処理しており、b)読み込んだNIBからトップレベルのオブジェクトを漏洩している可能性があります。
ファイルの所有者は、そのビューのすべてのIBOutletsとIBActionsを含むファイルです。たとえば、クラス「ViewController」があり、それにIBOutlet UIButton *button
と-(IBAction)changeViewWhenButtonPressed: (id) sender
が含まれている場合、アウトレットとアクションを接続できる唯一の方法は、ビューのFile Ownerとして「ViewController」を設定することです。
私は、Class IdentityがFile's Ownerと同義であることは比較的確信しています。
また、これらのリンクは役に立つかもしれません:
What are File Owner and First Responder in iPhone SDK - xCode?
おかげで、私はまだレベル1だと私はできません:
(ペン先ローディングメソッドのパラメータ。基本的に、ファイルの所有者は、単に「所有者」に渡されたどんなオブジェクトです)投票アップ.. –
ケンに私のコメントに答えることができればそれは素晴らしいだろう:) –
「ファイルの所有者」は、ペン先のオブジェクトがペン先以外のオブジェクトを参照できる方法で、逆も同様です。 (それを行うもっと複雑な方法もありますが、頻繁に使用されることはありません。)必要がない場合は、ファイルの所有者を使用する必要はありません。
メインアプリケーションの場合、ファイルの所有者はApplicationオブジェクトです。すべてのアプリケーションロジックがカスタムクラスにあり、ペン先でインスタンス化されている場合や、アプリケーションに送信されるアクションメッセージに「first responder」を使用する場合は、接続する必要はありません。これで結構です。
ドキュメントウィンドウやポップオーバーなどがある場合は、ファイルの所有者が頻繁に表示されるオブジェクトなので、uiを添付すると便利です。同じペン先を何度も読み込むことができます。同じペン先は、そのクラスの別のインスタンス(異なるドキュメントや検査オブジェクトなど)によってそれぞれ所有されています。迅速な対応のための
- 1. xibファイルのカスタムクラスとファイルの所有者設定の違いは何ですか?
- 2. xCode 4.2、UIPickerView、ファイルの所有者はどこですか?
- 3. ファイル所有者(インタフェースビルダー内)とは何ですか?
- 4. ファイル所有者とnsapplication、appdelegate
- 5. Xcodeファイルの所有者と@propertyに関するクエリ
- 6. oracleデータベースの所有者とは何ですか?
- 7. Googleドキュメントを見ることができません。私は所有者です。
- 8. Google C++スタイルガイドでオブジェクト所有者とは何ですか?
- 9. この特性所有者はユニットテストに有益ですか?
- 10. 錆リスト要素(リスト所有者と複数の参照者)の複数の所有者 - 可能ですか?
- 11. 所有者が個人または会社になることができるアイテムと所有者との関係を作成する方法
- 12. IErrorInfoの所有者は誰ですか?
- 13. 同じ「ファイル所有者」に別のビューを添付する
- 14. 「ファイルとsubfoldes所有者情報のリスト」
- 15. エラー:データベースの所有者である必要があります
- 16. ファイル所有者がLinuxで所有権を変更できない
- 17. SASでファイルをインポートするときに所有者のユーザー名をインポートする
- 18. React - Ignore:Refsには所有者の警告が必要です
- 19. Hibernateでの関係所有者の意味は何ですか?
- 20. ファイルの所有者アイコン
- 21. 代替OAuth 2.0タイプクライアントとリソース所有者が同じ場所
- 22. Plesk CronジョブとFTP - ファイルアクセスの所有者は誰ですか?
- 23. マイクロソフトの紺碧の所有者が所有者ではありません
- 24. ドメインの所有者は、そこからダウンロードしたすべてのファイルを監視できますか?
- 25. 複数のファイル所有者xibを与える
- 26. C#でファイルの所有者/作成者を見つける
- 27. コンポーネントは、所有者フォームのイベント(OnClose)を自身のハンドラに置き換えることができますか?
- 28. JDialogとその所有者
- 29. PowerShellで画像とファイルの所有者をImage Magick 'Montage'にプル
- 30. カスタムUITableViewCell nibはファイル所有者としてカスタムOBJ-Cクラスを必要としますか?
インターフェイスビルダの左側には2つのセクションがあります。プレースホルダとオブジェクト。 nibにMyViewクラスを作成すると言います。そのクラスは「オブジェクト」セクションに表示され、ペン先とのコンセントアクション接続を行うことができます。私はファイルの所有者クラスをMyViewにした場合、同じ接続を行うことができます。これらの2つの状況を尊重していますか?ありがとう –
NIBを所有するビューは非常に珍しいでしょう。また、2つの異なるオブジェクトの接続も行います。 「あるオブジェクトのプロパティを設定することができますが、別のオブジェクトのプロパティを設定することもできますが、違いは何ですか?実際にNIBにあるビューの接続を作成すると、接続されたオブジェクトが表示されます。 File's Ownerに接続すると、ロードされたときにNIBの所有者として指定されたオブジェクトが、接続されたオブジェクトになります。所有者はNIB内のオブジェクトのいずれにもなることはできません。 –