Sobes.tech
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 е необходим само ако е необходима реактивна актуализация на данни от външен източник, но за проста навигация може да се избегне използването му.