問題タブ [target-action]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1566 参照

ios - Swift: Protocol method as Action in target-action

I'd like to have a protocol:

So, I could assign any client to a button, e.g.:

However, it does not compile as I have to specify a particular function in action, e.g.:

How to solve this issue, if I'd like to have multiple clients being targeted by a single button?

0 投票する
0 に答える
347 参照

ios - UIControl に複数のターゲット アクションを追加するより効率的な方法

私のアプリには、生成するイベントに応じて動作が異なる多数のボタンがあります: .touchDown.touchUpInside.touchUpOutsideなど。

これらの動作を設定するには、典型的な Target-Action メカニズムを使用します。

これは非常に冗長です。私の質問は、イベントの種類ごとに個別の関数を必要とせずにこれを行うためのより効率的な方法はありますか? コードは次のようになります。

Selector私は、使用しない代わりにクロージャでメソッドをラップするさまざまなソリューションを検討してきました。残念ながら、obj-c や Swift については、これを行うためにコードをリファクタリングし、ターゲットとオブジェクトを弱くキャプチャし、ターゲットを識別し、送信者間のあいまいさを解消する方法などを理解するのに十分な経験がありません。

この回答に従って: UIButton へのターゲットとしてのクロージャーの追加

私は常にこのようなものを書かなければならないことを避けようとしていますが、これも非常に冗長です

助けていただければ幸いです。ありがとうございました。