Toggle und Boolean


Ein anderes SwiftUI-Steuerelement, das mit der »Single Source of Truth« funktioniert, und noch einfacher ist als das Textfield, ist der Toggle. Es gehört zu der Gruppe von Steuerelementen, die unter macOS anders dargestellt werden, als unter iOS. Auf dem Mac ist es die klassische Checkbox, das Kontrollkästchen, welches seit Jahrzehnten in Desktop-Anwendungen zum Einsatz kommt. Unter iOS wird das Element zu einen Schalter. Dieser ist leichter mit einem Finger zu bedienen, weil unter iOS in der Regel keine Maus als Eingabegerät zur Verfügung steht. Bei der Programmierung des toggle gibt es für beide Systeme aber keine Unterschiede. Weil ein Schalter nur die Zustände ein oder aus, oder in der Software Entwicklung true oder false, annehmen kann, wird er mit einer Variable vom Typ Bool verbunden.

Der im folgenden Beispiel gezeigte Programmcode ist dem Beispiel des TextField ähnlich. Erneut gibt es eine Variable, die direkt mit dem Steuerelement verbunden ist. Zur Kontrolle, ob sich der Variablenwert durch Anklicken des Toggle ändert, wird der Wert zusätzlich in einem Text-Element ausgegeben. Eine direkte Ausgabe eines boolschen Wertes ist in SwiftUI jedoch nicht vorgesehen. Der Wert muss in einen Text umgewandelt werden. Das geschieht hier mithilfe des ?-Operators (ternärer Operator), den man als eine verkürzte Form der if-Struktur verstehen kann.

import SwiftUI

struct ContentView: View {
    
    @State private var value : Bool = false
    
    var body: some View {
        
        Toggle("This is a light switch", isOn: $value)
            .padding(15)
                        
        Text(value ? "On" : "Off")
            .padding(15)
    }
}
Stacks Image 99

Veröffentlicht am: 01.01.2025


© 2025 Holger Hinzberg Contact