View & Body Property
Penjelasan
Semua elemen tampilan di SwiftUI — mulai dari teks sederhana sampai layar penuh — adalah struct yang conform ke protocol View. Satu-satunya syarat wajib protocol View adalah punya property computed bernama body yang mengembalikan some View. Kata kunci some View berarti "suatu tipe konkret yang conform ke View, tapi tipe pastinya tidak perlu kamu tulis" — ini disebut opaque return type, dan penting karena struktur View di SwiftUI seringkali bertumpuk sangat dalam (Text di dalam VStack di dalam another View, dst). Karena View adalah struct (bukan class), setiap kali data yang dipakainya berubah, SwiftUI akan membuat ulang (re-evaluate) body-nya — bukan memutasi objek lama. Ini murah secara performa karena struct ringan, dan membuat SwiftUI bisa membandingkan hasil lama vs baru lalu hanya memperbarui bagian layar yang benar-benar berubah (diffing), bukan menggambar ulang semuanya.
Contoh Konsep
import SwiftUI
struct ProfilView: View {
var body: some View {
Text("Nama: Ayu")
}
}
// Sebuah View bisa disusun dari View lain
struct KartuView: View {
var body: some View {
ProfilView()
}
}
// body WAJIB mengembalikan satu View (atau satu container
// yang membungkus beberapa View, dibahas di topik layout)
Praktikum
Buat struct baru bernama SapaanView yang conform ke View, dengan body mengembalikan Text berisi "Halo dari SapaanView".
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kalau Xcode mengeluh 'body' tidak mengembalikan tipe yang cocok, periksa apakah kamu menaruh lebih dari satu View langsung berurutan tanpa membungkusnya dalam container seperti VStack — body hanya boleh mengembalikan SATU View teratas.