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をタップしたら、画面遷移させます。
- ユーザーがUIButtonをタップする
- Viewがタップされたことを感知する
- ViewがViewControllerにタップされたことを伝える
- ViewControllerでViewのDelegateをキャッチし、画面遷移の指示を出す
Delegateは最初の理解に時間がかかりますが、
仕組みを理解してしまえば後は実装の流れを覚えるだけです!
ABOUT ME
株式会社Playgroundのサービス
- 無料・簡単・片手でホームページを作成できる自社サービス Rakwi
- Web制作とアプリ開発を学べるオンラインプログラミング講座 Upstairs
- 開発,DX推進支援サービス スタートアッププラン