【SwiftUI】App Delegateとは?実装方法と使い方

この記事からわかること
- SwiftのApp Delegateとは?
- Swift UIで使用する方法
- UIKitのAppDelegate.swiftファイルとは?
- @UIApplicationDelegateAdaptorの使い方
index
[open]
\ アプリをリリースしました /
iOSアプリ起動時に処理を実行させることできるApp DelegateをSwift UIで実装する方法をまとめていきます。
App Delegateとは?
App Delegate
とはiOSアプリ起動時など特定のライフサイクルの中で呼ばれる処理のことを指します。
【Swift】delegate(デリゲート)とは?使い方とメリット
UIKitフレームワークではプロジェクトを作成した場合「AppDelegate.swift」ファイルがデフォルトで作成されています。
UIKitで作成されるファイル群
そのファイルの中にライフサイクルイベントを管理するクラスが生成されており、アプリ起動や停止させた際に任意の処理を実行させるためのメソッドが用意されています。
Swift UIにはAppDelegate.swift がない
しかしSwift UIを使用する場合は「AppDelegate.swift」は作成されません。代わりに「プロジェクト名App.swift」ファイルが生成されます。
Swift UIにApp Delegateを実装する方法
Swift UIにUIKitの時に使用していたようなApp Delegateを実装するには「プロジェクト名App.swift」内にコードを記述していきます。
Swift UIではUIKitのApp Delegate機能を実装するために@UIApplicationDelegateAdaptor
と呼ばれるプロパティラッパーが用意されています。まずはこれを「プロジェクト名App.swift」ファイルに追加していきます。
この時点ではappDelegate
クラスが未定義のためエラーが出ますが気にせず進めてください。
クラスの作成
続いてライフサイクルを管理するためのデリゲートメソッドを保持するクラスを作成します。このクラスにはUIApplicationDelegate
プロトコルへの準拠が必要になります。新規でファイルを作成し以下の内容を記述します。
これでSwift UIでもアプリが起動した際などライフサイクルイベント発生時に任意の処理を実行させることができるようになります。
アプリが閉じたときに実行させる
AppDelegateでアプリが閉じたときに実行させるにはapplicationWillTerminate
メソッドを呼び出します。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。
私がSwift UI学習に使用した参考書