0

Apple がデリゲート パターンではなく UIButton のイベント処理にターゲット アクション デザイン パターンを使用することを決定した理由を理解するのに役立つ人はいますか?

または、Apple が UITextField の委譲デザイン パターンを選択する理由を説明できますが、同じことが Target Action でも達成できます。

4

3 に答える 3

1

すべての@IBAction関数には、3 つのシグネチャのいずれかがあります。

  • functionName() -> Void
  • functionName(sender: Any) -> Void
  • functionName(sender: Any, forEvent event: UIEvent) -> Void

IBAction は他の引数を受け入れることができず、値を返しません。

デリゲートを使用すると、さまざまなパラメーターを取り、値を返す関数を使用できますが、アクションはUIViewサブクラス全体の標準的なアプローチです。

などの一部のクラスではUITextField、特定のアクションをデリゲート メソッドとアクション メソッドの両方で処理できます。これにより、いくつかの選択肢が得られると思います。デリゲート関数を既に実装している場合は、アクション ハンドラーも実装する必要はありません。

于 2016-12-14T12:18:59.793 に答える