私は約束してこれを理解しようとしました!これについての豊富な情報があり、私はまだ抽象概念の海に溢れています!私が子供の頃のように、なぜ国がもっとお金を印刷して本当に豊かにできないのかを私に説明することはできませんでした。私はこのようなことのほとんどが遅れているわけではありませんが、何らかの理由で私はこのコンセプトの周りを頭で覆うことができませんので、誰かが「4歳に話す」ことを躊躇せずに!ダミーのためのプロトコルと代理人
私はtarget-actionが完全にわかります。それは、たくさんのことをすることなく、ビューがコントローラと話すことを可能にするのに便利な方法です。私が作る限りでは、コントローラオブジェクトは、ビューオブジェクトに事実上リスナを付けるので、特定のイベントがそのビューで発生した場合(ボタンが押された場合)、コントローラメソッドが起動されるようになります。これは技術的に正確ではないかもしれませんが、抽象的な説明として私には意味があります。
だから配列は:
- ターゲットメソッドがコントローラオブジェクトに作成されています。
- ビューが選択され、グラフィカルにそのメソッドに接続されています。
- コントローラからメソッドを起動するビューでイベントが発生します。
プロトコルと代議員は私に不快感を与えます。私はそれがオブジェクトがお互いに話すことを許可することと関係があることを知っていますが、私は以下のように理解していませんでしたが、今のところ考えていませんでした。スレートを拭き取り、新たに始める。アクションに/コードの
- の目的を説明する少し時間を過ごすことができ、それが発生したイベントの
- シーケンスを住んでいる場合プロセスが使用されているとき
私は永遠に感謝します。
他の説明のコメントから判断すると、私は少し失われた唯一の人ではないと感じています。うまくいけば、これは一般的な使用になります。本当にありがとう!
編集:私はちょうど私の理解の人々が私を修正することができ、そしてそれは、これがより簡単になるかもしれないレイアウトならば、私は多分思ったよう
わかりました。
サンプルはApple Docsから取得され、ビューオブジェクトとしてウィンドウがあり、デリゲートとしてWindowDelegateがあり、クローズウィンドウボタンをクリックすると「閉じるべきですか?」というメッセージが表示されます。デリゲートへのメッセージ。コードの
成分: ウィンドウ(ビュー) WindowDelegate(ビューコントローラ?)
- デリゲートは、ウィンドウ(ビュー)のインタフェース部で使用できるプロトコルを宣言します。
- デリゲートのインスタンスをウィンドウで作成します。
- WindowDelegateがウィンドウプロトコルを実装していることを記述するには、そのインターフェイスに。 (ここで少し揺れる?)
- メソッドの必要な実装をWindowDelegate(View Controller)実装セクションに記述します。
- 特定のイベントで、Windowは特定の情報を持つWindowDelegateにメッセージを送信します。
- WindowDelegateはこれを処理して答えを返します。
右の線に沿ってどこですか?
関連:http://stackoverflow.com/questions/6148148/delegates-what-are-they-really/6148838#6148838 – justin