Junior — Middle
Може ли да създадете навигация в интерфейса без да приемате задължителни зависимости от ObservableObject в Представлението?
sobes.tech AI
Отговор от AI
Да, в SwiftUI може да се създаде навигация без задължително използване на ObservableObject в изгледа. Например, може да се използва локално състояние с @State или @StateObject, или да се предават данни чрез Binding.
Пример за навигация с използване на @State:
struct ContentView: View {
@State private var isDetailActive = false
var body: some View {
NavigationView {
VStack {
Button("Отидете към детайлите") {
isDetailActive = true
}
NavigationLink(
destination: DetailView(),
isActive: $isDetailActive,
label: { EmptyView() }
)
}
.navigationTitle("Главна")
}
}
}
struct DetailView: View {
var body: some View {
Text("Детайлен екран")
}
}
Затова, ObservableObject е необходим само ако е необходима реактивна актуализация на данни от външен източник, но за проста навигация може да се избегне използването му.