ターゲットとnilのアクションはどのようにすればよいですか?一方、Actionとnil Targetで作業する必要があるのはいつですか?また、ActionとTargetの両方でいつ作業する必要がありますか?ターゲットとアクションの違いは何ですか?
let rightButton = UIBarButtonItem(title: "Done", style: .done, target: nil, action: nil)
ターゲットとnilのアクションはどのようにすればよいですか?一方、Actionとnil Targetで作業する必要があるのはいつですか?また、ActionとTargetの両方でいつ作業する必要がありますか?ターゲットとアクションの違いは何ですか?
let rightButton = UIBarButtonItem(title: "Done", style: .done, target: nil, action: nil)
通常、ターゲットとアクションが同時に表示されます。
ターゲットとアクションは、特定のメソッドを参照するために使用されます。コードスニペットでは、UIBarButtonItem
を作成しています。 UIBarButtonItem
は、タップされたときにどのメソッドを呼び出すべきかを知る必要があります。
どのような方法で呼び出すのですか?
残念ながらlet rightButton = UIBarButtonItem(
title: "Done", style: .done, methodToCall: self.myMethod)
、迅速でのみ動作:
あなたは言うかもしれない「ちょうどメソッドの参照を渡します」。 UIBarBUttonItem
は目的のC APIなので、このアプローチは使用できません。
目的Cでは、Selector
はメソッドを表しますが、メソッドを呼び出すオブジェクトは保存しません。そのため、追加のtarget
パラメータが必要です。メソッドが呼び出されるオブジェクトを指定します。一方、action
は、どのメソッドを呼び出すかを指定します。
ここではself.myMethod
とします。メソッドが呼び出されるオブジェクトはself
であり、呼び出されるメソッドはmyMethod
です。すばらしいです!さあ、これらを渡しましょう!
let rightButton = UIBarButtonItem(
title: "Done", style: .done, target: self, action: #selector(myMethod))
を敏感にしています。この問題を解決するために私を助けてください。http://codereview.stackexchange.com/questions/157401/loading-data-from-a-web-api-to-be-displayed-in-aテーブルビュー –
ターゲット:
セレクタ(uはアクションで指定方法)が呼び出されるべきでオブジェクト/インスタンスです。
アクション:あなたはボタンをタップしたときにトリガする方法の
名前。
ターゲットとnilアクションはどのようにすればいいですか?あなたは、画面内のボタンを持っている場合
は/ ViewControllerを、あなたがAppleのドキュメントによると(ダミーアクションなしでボタン)
タップすると、それは任意のメソッドをトリガーにしたいいけません。
ターゲット・アクションは、オブジェクトが イベントが発生したときに他のオブジェクトにメッセージを送信する必要 情報を保持する設計パターンです。格納される情報は、呼び出されるメソッドを識別するアクションセレクタ と、メッセージを受け取るオブジェクトである ターゲットの2つのデータ項目で構成されます。イベントが発生したときに送信されたメッセージ は、アクションメッセージと呼ばれます。ターゲット は任意のオブジェクト(フレームワークオブジェクト)でもかまいませんが、通常はアプリケーション固有の の方法でアクションメッセージを処理するカスタム コントローラです。 MVCの面では
対象:
は(あなたのケースでUIBarButtonItem)代理人として行為は、オブジェクトを表示することで、コントローラです。
処置:表示への対応で
メソッドの呼び出し(委任)。複数のチェックのために
ターゲットは - アクションメソッドを発射すると想定される上で何かです。この場合、それは自己でなければなりません。 Selfはここにボタンオブジェクトを表します。
アクション - ボタンのタップイベントで呼び出されるセレクタメソッドを意味します。
ボタンでアクションイベントを許可しない場合は、selectorをnilとして指定します。したがって、ボタンオブジェクトとして扱う必要があります。
アクションはメソッドのセレクタであり、対応するイベントが発生したときに実行されます(たとえば、ボタンがタップされたとき)。アクションを設定しないと、ボタンは何も行いません。
ターゲットはメッセージコールの受信者です。これをnil
に設定すると、メッセージコールはレスポンダチェーンを介して送信されます。これは、iOSではまれですが、macOSでは非常に一般的です。
なぜダウン投票しましたか?あなたは私に教えてくれますか?お願いします。私はすぐに –