Junior — Middle
Pode explicar o que é um StateObject no contexto do desenvolvimento?
sobes.tech IA
Resposta da IA
@StateObject — é uma propriedade-embalagem no SwiftUI, usada para criar e gerir o ciclo de vida de um objeto que implementa o protocolo ObservableObject.
A principal tarefa do StateObject é garantir que o objeto seja criado uma única vez e seja preservado durante as re-renderizações da View onde é declarado. Isto é importante para armazenar estados que devem sobreviver às atualizações da interface.
Exemplo de uso:
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
}
}
}
}
Aqui, viewModel é criado uma vez e mantém o estado entre as atualizações da interface.