Study
← Semua Kategori

SwiftUI

Pengenalan SwiftUI

Apa itu SwiftUI, cara instalasi lewat Xcode, dan cara menjalankan tampilan pertamamu.

View & Body Property

Memahami protocol View, property body, dan bagaimana SwiftUI merender tampilan dari deskripsi kode.

Layout dengan VStack, HStack, dan ZStack

Menyusun beberapa View secara vertikal, horizontal, atau bertumpuk menggunakan stack container.

Modifier & Chaining

Mengubah tampilan dan perilaku View lewat modifier seperti .padding(), .foregroundColor(), dan urutan chaining-nya.

@State untuk State Lokal

Menyimpan dan memperbarui data yang bisa berubah di dalam satu View menggunakan property wrapper @State.

Binding Dua Arah dengan \$

Menghubungkan input pengguna langsung ke @State lewat projected value \$ dan tipe Binding.

@Binding: Meneruskan State ke Child View

Membiarkan child View membaca sekaligus mengubah state yang sebenarnya dimiliki parent View.

List & ForEach

Menampilkan koleksi data secara dinamis menggunakan List dan ForEach.

Navigasi dengan NavigationStack

Berpindah antar layar menggunakan NavigationStack dan NavigationLink.

ObservableObject & @ObservedObject

Mengelola state eksternal yang lebih kompleks lewat class yang conform ke ObservableObject.

@EnvironmentObject

Membagikan satu objek state ke seluruh pohon View tanpa meneruskannya manual lewat setiap initializer.

@StateObject vs @ObservedObject

Memahami perbedaan kepemilikan (ownership) antara @StateObject dan @ObservedObject.

View Kondisional (if/else)

Menampilkan View yang berbeda tergantung kondisi menggunakan if/else langsung di dalam view builder.

Button & Aksi

Menangani interaksi pengguna lewat Button dan closure action.

Form & Section

Menyusun tampilan input terstruktur menggunakan Form dan Section.

Animasi di SwiftUI

Membuat transisi halus antar state menggunakan withAnimation dan modifier .animation().

Async Data Loading dengan .task

Memuat data secara asynchronous saat View muncul menggunakan modifier .task dan async/await.

Alert, Sheet & Modal

Menampilkan dialog konfirmasi dan layar modal menggunakan .alert() dan .sheet().

Tugas Akhir

Membangun aplikasi Catatan sederhana yang menggabungkan State, Binding, List, dan Navigasi.