A Propriedade @State
Parte da seção Introdução ao SwiftUI do Journey de Swift da Coddy. Lição 20 de 50.
O corpo de uma view é recalculado a partir dos dados dela. Para ter dados que mudam, marque uma propriedade com @State. Quando uma propriedade de estado muda, o SwiftUI executa o corpo novamente e atualiza a tela:
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Add one") {
count += 1
}
}
}
}Cada toque executa count += 1, e o texto mostra o novo número. Você nunca atualiza o texto por conta própria: o texto é descrito em termos de count, então ele acompanha o valor.
Uma var simples em uma view não pode ser alterada a partir do seu corpo, porque as views são structs. @State armazena o valor fora da struct para que ele sobreviva a cada redesenho. Marque o estado como private: ele pertence a esta view.
Desafio
FácilFinalize o contador de toques. A ação do botão está vazia: faça com que cada toque adicione 1 a taps, para que o texto mostre Taps: 1 após um toque e Taps: 2 após dois.
Experimente você mesmo
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Introdução ao SwiftUI
4Modificadores
PreenchimentoPlanos de fundoOrdem dos modificadoresMolduras e formasRecapitulação - Criador de distintivos10Projeto - Coddy Coffee
Visão geral do projetoTelas de bebidas5Estado e Botões
BotõesA Propriedade @StateEstado Verdadeiro ou FalsoViews CondicionaisRecapitulação - Marcador de PontosPratique por conta própria: Playground de Swift