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.
Tantangan
MudahSelesaikan 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()
}
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pengenalan SwiftUI
Latihan sendiri: Playground SwiftUI