Junior — Middle
Quais novos meios de monitoramento e gestão de estado no SwiftUI foram introduzidos após a versão iOS 13?
sobes.tech IA
Resposta da IA
Após o iOS 13, o SwiftUI adicionou novos meios de monitorar e gerir o estado, expandindo as capacidades da programação reativa:
- @StateObject — para criar e gerir o ciclo de vida de objetos ObservableObject dentro de uma vista, garantindo que o objeto seja criado uma única vez.
- @ObservedObject — para subscrever às mudanças em objetos ObservableObject externos.
- @EnvironmentObject — para passar dados através da hierarquia de vistas sem passá-los explicitamente.
- @AppStorage — para ligar convenientemente o estado ao UserDefaults.
- @SceneStorage — para guardar o estado dentro do ciclo de vida da cena.
Estas propriedades permitem rastrear mudanças de dados de forma eficiente e atualizar a interface automaticamente sem código adicional.
Exemplo de uso de @StateObject:
class ViewModel: ObservableObject {
@Published var count = 0
}
struct ContentView: View {
@StateObject private var viewModel = ViewModel()
var body: some View {
VStack {
Text("Count: \(viewModel.count)")
Button("Increment") {
viewModel.count += 1
}
}
}
}