0Pricing
Swift Academy · Pelajaran

Properti Tersimpan dan Pengamat Properti

Pengamat didSet dan willSet untuk merespons perubahan properti.

Properti Tersimpan dan Pengamat Properti adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Selamat Datang

Properti tersimpan menyimpan nilai di dalam struktur atau kelas. Pengamat properti — `willSet` dan `didSet` — memungkinkan Anda merespons saat nilai properti tersimpan berubah.

Properti Tersimpan

```swift struct Counter { var count: Int = 0 // stored, mutable let name: String // stored, immutable } ``` Setiap nilai yang Anda tetapkan dengan `let` atau `var` di dalam suatu tipe adalah properti tersimpan.

Pengamat didSet

```swift struct Gauge { var level: Int = 0 { didSet { print("Changed from \(oldValue) to \(level)") } } } var g = Gauge() g.level = 5 // "Changed from 0 to 5" ``` `oldValue` adalah nilai sebelumnya yang disediakan secara otomatis.

Pengamat willSet

```swift struct Slider { var value: Double = 0.5 { willSet { print("About to change to \(newValue)") } } } ``` `newValue` adalah nilai baru yang masuk dan disediakan secara otomatis. `willSet` dipicu sebelum penetapan.

Kedua Pengamat Sekaligus

```swift var temperature: Double = 20 { willSet { print("Will become \(newValue)") } didSet { print("Was \(oldValue)") } } temperature = 25 // Will become 25.0 // Was 20.0 ```

Membatasi Nilai dengan didSet

```swift var volume: Int = 50 { didSet { if volume > 100 { volume = 100 } if volume < 0 { volume = 0 } } } volume = 150 // clamped to 100 ``` Pola yang bersih untuk menerapkan kondisi tetap secara otomatis.

Pengamat pada Subkelas

Pengamat properti juga berfungsi pada properti yang diwarisi: ```swift class Base { var x: Int = 0 } class Child: Base { override var x: Int { didSet { print("x changed to \(x)") } } } ```

Pengamat Tidak Terpicu saat Inisialisasi

```swift struct Model { var value: Int = 0 { didSet { print("changed") } } init(v: Int) { self.value = v } // does NOT trigger didSet } ``` Pengamat tidak dipicu selama penetapan awal di dalam `init`.

Tersimpan vs Terhitung — Perbedaan Singkat

• Tersimpan: `var x: Int = 0` — menyimpan penyimpanan sebenarnya • Terhitung: `var doubled: Int { x * 2 }` — diturunkan saat diakses, tanpa penyimpanan • Pengamat: terpasang pada properti tersimpan — merespons perubahan Pengamat tidak dapat ditambahkan ke properti terhitung karena properti tersebut sudah memiliki `get`/`set`.

Catatan Performa

Pengamat properti menambahkan overhead pemanggilan fungsi pada setiap penulisan. Untuk penulisan berfrekuensi tinggi, misalnya fisika dalam putaran permainan, pertimbangkan menggunakan properti tersimpan biasa dan memanggil logika pembaruan secara eksplisit untuk performa yang lebih baik.

Pemeriksaan Cepat

Pengamat properti mana yang menyediakan akses ke nilai **sebelumnya**?

Ringkasan

Hal-hal penting: • Properti tersimpan menyimpan nilai secara langsung • `willSet` dipicu sebelum nilai baru disimpan; `newValue` disediakan • `didSet` dipicu setelahnya; `oldValue` disediakan • Pengamat tidak dipicu selama `init` • Sangat berguna untuk efek samping seperti pembaruan UI, pencatatan log, dan validasi Berikutnya: properti terhitung.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Properti Tersimpan dan Pengamat Properti” gratis?

Ya — teks lengkap “Properti Tersimpan dan Pengamat Properti” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Properti Tersimpan dan Pengamat Properti”?

Pengamat didSet dan willSet untuk merespons perubahan properti. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Properti Tersimpan dan Pengamat Properti” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Inisialisasi Memberwise dan Inisialisasi Kustom
  2. Properti Tersimpan dan Pengamat Properti
  3. Properti Terhitung dalam Struct
  4. Metode Mutasi dan Semantik Salin saat Tulis
← Kembali ke Swift Academy