@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.
Görev
OrtaThemeToggle, ü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()
}
}
}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
2İçerik Gösterme
Metin GörünümleriMetin İçinde SayılarYazı TipleriRenklerSF SymbolsTekrar - Fiyat EtiketiKendi başına pratik yap: Swift playground