Sobes.tech
Назад к вопросам
Junior — Middle
68

Можно ли создать навигацию в интерфейсе без принятия обязательных зависимостей от ObservableObject в Представлении?

Ответ от нейросети

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