質問

しば見落とさないよう、シンプルですが見えないことに気づいたのです。第一に、設定:

  • DATreeView, では、サブクラス NSView
  • DATreeViewController, では、サブクラス NSViewController
  • MainMenu.xib してのインスタンス DATreeViewController, 構成された、負荷がかりに DATreeView.xib
  • MainMenu.xib ものインスタンス DendreaAppDelegate, は、 DATreeViewController アウトレット(有線まで MainMenu.xib's DATreeViewController インスタンス.
  • Do Something!, メニュー項目を有線までお送り doSomething: メッセージの最初の対応者であ
  • ないその素晴らしさを最初に紹介 DATreeViewController は新しいコンセプトとして"という doSomething:.

だいたいの Do Something! メニュー項目でトリガーの doSomething:DATreeViewController, しましょうをふんだ"という大きな目標を掲げ行動接続ます。私は停ことをお願いすることが私のデザイン完全に間違いだったのか?どのようにしていないカ/evil/が恥ずかしく、目の神様?

ありませんか?●ます。現在の見所が取得できなくても、メニュー項目にアクティブになります。になっているこSnow Leopard場合、その他。

達成のために良い統合 NSViewNSViewController, など管理に対応チェーンの今後 マット-ヴィメタルバンドの例, り、実質的な変更:でなペン先の読み込みプロセスは NSView いを受ける setViewController: メッセージで送ってもいいというメッセージを自分自身 DATreeViewController's loadView メッセージ。うえしましたが、走行には、下記コード applicationDidFinishLaunching:

NSView *view = self.treeViewController.view;
[self.window.contentView addSubview:view];

に対応チェーンセットとして今後も成長が見込まれるのは:

NSWindow < NSView < DATreeViewController < DATreeView

ったので期待されて DATreeViewController に対応チェーン、に対応して doSomething:, ということを実装していないバリデーション、すべての思いはインターフェースビルダーワイヤーの Do Something! メニュー項目への対応プロキシで、 doSomething: として行動し、メニュー項目も活動します。

なぜですか?ご貴重な援!

役に立ちましたか?

解決

あなたのビューが受け入れ、成功した最初の応答者となっていますか?

他のヒント

DATreeViewController IBでDATreeViewのViewControllerをコンセントに配線されていますか?

あなたはsetViewControllerを通じて追跡さがあります:とsetNextResponder:?nextResponderが正しく設定されていることを確認するために、

レスポンダチェーンにのみ、私はあなたがNSResponderを見て、mouseDown場合にメッセージを送信することによって、バブルアップ他の方法にmouseExitedするカテゴリを追加することによって、卑劣な何かを行うことができると信じて、このようなNSResponder nextResponderなどnextResponderスーパークラス内のメッセージなどのために働きます存在しています。

これは、この技術の例のように見える:ます。https:// github.com/MrNoodle/NoodleKit/blob/master/NSResponder-NoodleModalExtensions.mする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top