Состояние «истина или ложь»
Часть раздела Введение в SwiftUI путешествия по Swift на Coddy. Урок 21 из 50.
Состояние может иметь тип Bool. toggle() переключает его между значениями true и false:
@State private var isOn = false
Button("Switch") {
isOn.toggle()
}Тернарный оператор выбирает значение из состояния, поэтому один вид может отображать две версии:
Text(isOn ? "Light is on" : "Light is off")
.foregroundStyle(isOn ? .yellow : .gray)isOn ? a : b возвращает a, когда isOn имеет значение true, а в противном случае — b. После каждого нажатия body запускается снова, и текст, и цвет соответствуют новому значению.
Задание
ЛегкоЗаставь лампу работать. Нажатие на Switch должно переключать isOn, а текст должен отображаться как Light is on, когда isOn имеет значение true, и как Light is off, когда оно имеет значение false.
Попробуйте сами
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в SwiftUI
10Проект — Coddy Coffee
Обзор проектаЭкраны напитков2Отображение содержимого
Текстовые представленияЧисла в текстеШрифтыЦветаSF SymbolsПовторение — ценник5Состояние и кнопки
КнопкиСвойство @StateСостояние «истина или ложь»Условные представленияПовторение — счётчик очков6Ввод данных пользователем
Текстовое полеПереключательСчётчик и ползунокВыборПовторение — форма заказаПотренируйтесь самостоятельно: Песочница Swift