Alur Masuk / Keluar: SwiftUI dan EnvironmentObject

EnvironmentObject berguna ketika Anda ingin membuat ketergantungan pada komponen yang lebih tinggi dari pohon tata letak dan menggunakannya pada komponen yang lebih rendah tanpa harus meneruskannya ke bawah pohon melalui setiap komponen turunan.

Kami sekarang akan menggunakan EnvironmentObject untuk memantau kapan pengguna masuk dan keluar.

  1. Ketika pengguna berhasil login (isLoggedIn = true),mereka diarahkan ke tampilan aplikasi lainnya.
  2. Ketika pengguna logout (isLoggedIn = false)di titik mana pun dalam aplikasi, mereka diarahkan ke halaman login.

Kami membutuhkan komponen-komponen berikut:

  1. Model Tampilan Status Pengguna
  2. Pengalih Aplikasi
  3. Layar login
  4. Layar Beranda (Tampilan Aplikasi Kami)

Model Tampilan Status Pengguna

Model tampilan status pengguna melacak dan menyiarkan status pengguna. Kami menyimpan model tampilan ini di EnvironmentObject.

Kami membuat contoh model tampilan kami tersedia (Baris 14) untuk semua tampilan anak, mulai dari tampilan ApplicationSwitcher

Pengalih Aplikasi

Layar login

Layar Login menggunakan UserStateViewModel untuk memanggil signIn

Layar Beranda dengan Tombol Keluar

Layar Utama menggunakan UserStateViewModel untuk memanggil signOut

Setiap saat Pengalih Aplikasi memantau status isLoggedIn: