Study
SwiftUI

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".

Editor Latihan

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.