どうも、ちょげ(@chogetarou)です。
SiwftUIで初期化処理をする方法を紹介します。
方法
SwiftUIで初期化の処理をするには、AppDelegateクラスを使います。
AppDelegateクラスをアプリが起動された際に呼び出され、メソッドで起動時の処理を行うことが出来ます。
AppDelegateクラスは、使うには次の手順が必要です。
- AppDelegateクラスの作成
- メソッドに初期化処理を記述
- SwiftUIに適用させる
AppDelegateクラスの作成

まず、AppDelegateクラスを作成します。
このクラスの書き方は、テンプレートみたいなものなので、ここにあるコードをコピペで大丈夫です。
class AppDelegate : UIResponder, UIApplicationDelegate {
func application(_application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool {
return true
}
}
メソッドに初期化処理を記述
class AppDelegate : UIResponder, UIApplicationDelegate {
func application(_application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool {
//初期化処理
return true
}
}
applicationメソッドの「return true」の前で、必要な初期化処理を記述しましょう。
SwiftUIに適用させる

自作したAppDelegateクラスをSwiftUIに適用させます。
@mainがある構造体で、次のコードを追加してください。
@main
struct HelloApp: App {
//追加
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
「@UIApplication~」の部分を追加します。
これで、アプリ起動時に初期化処理が呼び出されるようになります。

世界最大級のオンライン学習サイトUdemy

まとめ
初期化処理をするには、AppDelegateクラスを使います。
コメント