Menu
Coddy logo textTech

@Binding Özelliği

Coddy'nin Swift Journey'sinin SwiftUI'ye Giriş bölümünün bir parçası. Ders 39 / 50.

Bir ekran büyüdüğünde, onu daha küçük görünümlere bölersin. Üst görünümün durumunu değiştirmesi gereken bir alt görünüm, değeri kendisi sahiplenmek yerine @Binding tanımlar:

struct VolumeControl: View {
    @Binding var volume: Int

    var body: some View {
        Stepper("Volume: \(volume)", value: $volume, in: 0...10)
    }
}

Üst bileşen @State’i tutar ve $ ile buna bir bağlama iletir:

struct ContentView: View {
    @State private var volume = 5

    var body: some View {
        VStack {
            VolumeControl(volume: $volume)
            Text(volume == 0 ? "Muted" : "Playing")
        }
    }
}

ContentView'a ait bir değer vardır. Alt öğedeki stepper, binding aracılığıyla bu değeri değiştirir ve üst öğenin metni bunu takip eder. @State bir değerin sahibi olur; @Binding ise değeri başka bir yerden ödünç alır.

challenge icon

Görev

Orta

ThemeToggle, üst bileşenin darkMode değerini değiştirmelidir. Özelliğini @Binding olarak değiştirin, Toggle bileşenini buna bağlayın ve ContentView içinden $darkMode değerini aktarın. Anahtar açıkken metin Dark theme olmalıdır.

Kendin dene

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

SwiftUI'ye Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Swift playground