Target-Action


Target-Action

  • 設計モード
  • は、イベントが発生したときに誰が(ターゲット)操作を実行するかを登録するために使用される.
  • イベントレンタルみたいな感じ?と理解する.
  • なぜターゲットアクションですか?

  • 直接ターゲットオブジェクトに動作方法を呼び出せばよいのに、なぜこの設計を使用するのか.
  • 場合によっては、
  • のような方法は、それらを区別するために複数のクラスに指定される.これは、オブジェクトがターゲットとして指定されている場合、そのインスタンスでアクションを実行するオブジェクトを選択できるためです.
  • Action Method

  • 動作方法には2つの記述方式がある.
  • // 프로그래밍 방식
    @objc func doSomething(_ sender: Any) {
    
    }
    // 인터페이스 빌더 방식
    @IBAction func doSomething(_ sender: Any) { 
    
    }
  • @objc
  • アップルのフレームワークにはObject-Cスタイルの言語がたくさんあるので、sweet言語で書かれたコードでは、Object-Cのコードを互換させるには@objcと明記する必要があります.これはSweet 4以前に自動で作られたそうですが、4から明示!
  • は、ターゲット動作モードがObjective-Cのメッセージベースの割り当てを使用するためである.
  • @IBAction
  • インタフェースビルダーは、この方法を直接シーケンス画像ボードとしてUI要素に関連付けて動作を指定するために使用される.
  • @objcの機能に加えて、インタフェースビルダーで関数を露出する機能も含まれています.
  • イベントの制御


    制御イベントは、UIControlEventsの列挙タイプとして定義される.このイベントを検出することでtarget-actionを指定できます.

  • touchDown
    コントロールのトリガ時に発生するイベント

  • touchDownRepeat
    コントロールを連続的にタッチしたときに発生するイベント

  • touchDragInside
    制御範囲内でタッチ領域をドラッグしたときに発生するイベント

  • touchDragOutside
    タッチ領域がコントロールの外部からドラッグされたときに発生するイベント.

  • touchDragEnter
    タッチ領域がコントロールの領域を超えて再入力されたときに発生するイベント.

  • touchDragExit
    タッチ領域がコントロールの領域を超えたときに発生するイベント.

  • touchUpInside
    制御領域内でのタッチと解放時に発生するイベント

  • touchUpOutside
    制御領域からタッチし、制御領域外から移動したときに発生するイベント

  • touchCancel
    トリガー解除されたイベント(TouchUpイベントは発生しません)

  • valueChanged
    ドラッグ&その他の方法で触角を操作して値を変更したときに発生するイベント.

  • primaryActionTriggered
    ボタンを押したときに発生するイベント(iOSではなくtvOSを使用)

  • editingDidBeginUITextFieldから編集開始時に呼び出されたイベント

  • editingChangedUITextFieldで、値を変更するたびに呼び出されるイベント

  • editingDidEndUITextFieldでは、外部オブジェクトとのインタラクションにより編集が終了したときに発生するイベント.

  • editingDidEndOnExit
    編集状態がUITextFieldの場合にキーボードのreturnキーがトリガーされたときに発生するイベント

  • allTouchEvents
    すべてのタッチイベント

  • allEditingEventsUITextFieldで編集されたイベント

  • applicationReserved
    プログラム・デザイナは、各アプリケーションで任意に指定できるイベント値の範囲です.

  • systemReserved
    フレーム内のイベント値の保持範囲

  • allEvents
    システムイベントを含むすべてのイベント
  • 画像ソース:Naver BoostカリキュラムiOSアプリケーションプログラミング