Junior — Middle
É possível criar uma navegação na interface sem aceitar dependências obrigatórias de ObservableObject na Vista?
sobes.tech IA
Resposta da IA
Sim, no SwiftUI é possível criar navegação sem a necessidade de usar ObservableObject na vista. Por exemplo, pode-se usar estado local com @State ou @StateObject, ou passar dados através de Binding.
Exemplo de navegação usando @State:
struct ContentView: View {
@State private var isDetailActive = false
var body: some View {
NavigationView {
VStack {
Button("Ir para detalhes") {
isDetailActive = true
}
NavigationLink(
destination: DetailView(),
isActive: $isDetailActive,
label: { EmptyView() }
)
}
.navigationTitle("Principal")
}
}
}
struct DetailView: View {
var body: some View {
Text("Tela de detalhes")
}
}
Portanto, ObservableObject só é necessário se for preciso uma atualização reativa de dados de uma fonte externa, mas para navegação simples, pode-se dispensar o seu uso.