Menu
CoddyTech

Property @State

Termasuk bagian Pengenalan SwiftUI dalam perjalanan Swift di Coddy. Pelajaran 20 dari 50.

Body sebuah view dihitung ulang berdasarkan datanya. Agar memiliki data yang berubah, tandai sebuah property dengan @State. Saat property state berubah, SwiftUI menjalankan body lagi dan memperbarui layar:

struct ContentView: View {
    @State private var count = 0

    var body: some View {
        VStack {
            Text("Count: \(count)")
            Button("Add one") {
                count += 1
            }
        }
    }
}

Setiap ketukan menjalankan count += 1, dan teks menampilkan angka baru. Kamu tidak pernah memperbarui teksnya sendiri: teks dijelaskan berdasarkan count, jadi teks mengikuti nilainya.

var biasa dalam sebuah view tidak dapat diubah dari body-nya, karena view adalah struct. @State menyimpan nilai di luar struct agar tetap ada setiap kali digambar ulang. Tandai state sebagai private: state ini milik view ini.

challenge icon

Tantangan

Mudah

Selesaikan penghitung ketukan. Aksi tombol masih kosong: buat setiap ketukan menambahkan 1 ke taps, sehingga teksnya menjadi Taps: 1 setelah satu ketukan dan Taps: 2 setelah dua ketukan.

Coba sendiri

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pengenalan SwiftUI

Latihan sendiri: Playground SwiftUI