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.
- Ketika pengguna berhasil login (isLoggedIn = true),mereka diarahkan ke tampilan aplikasi lainnya.
- Ketika pengguna logout (isLoggedIn = false)di titik mana pun dalam aplikasi, mereka diarahkan ke halaman login.
Kami membutuhkan komponen-komponen berikut:
- Model Tampilan Status Pengguna
- Pengalih Aplikasi
- Layar login
- 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: