未分類

つまりDelegateとはこういうこと!

ViewControllerとView

Swiftで扱う主なClassに、ViewControllerとViewがありますよね。

この2つは似ているようでまったく別物です。

ViewControllerはその名の通りViewをControlする場所であり、

ユーザーのアクションやデータの変更があった場合などに、Viewに指示を出します。

Viewは、その指示のままに表示を変えるだけの場所です。

しかし、ユーザーが触接触るのはViewの部分ですよね。

ということは、ViewControllerに指示をもらうために、Viewを触られたことをViewControllerに伝えなければなりません。

ここでDelegateの登場です。

Delegate

DelegateをGoogle翻訳で直訳してみると、

“委任する” と出てきます。

あるClassが他のClassに処理を “委任する” 。

この仕組みのことを、Delegateといいます。

具体的な例をみてみます。

以下のようにViewControllerにViewをのせ、その上にUIButtonを置いたとします。

このUIButtonをタップしたら、画面遷移させます。

  1. ユーザーがUIButtonをタップする
  2. Viewがタップされたことを感知する
  3. ViewがViewControllerにタップされたことを伝える
  4. ViewControllerでViewのDelegateをキャッチし、画面遷移の指示を出す

 

Delegateは最初の理解に時間がかかりますが、

仕組みを理解してしまえば後は実装の流れを覚えるだけです!

ABOUT ME
伊原 萌夏
スクール担当 兼 iOS(時々Web)エンジニア。 2019年7月に大学を一年半で辞め、大学とは別で勉強していたプログラムの世界で生きていくことを決意。翌月8月に入社。 主にSwiftのスクールを担当。 趣味は和装でお出かけ。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA