Используйте @EnvironmentObject с PresentationButton в SwiftUI - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь передать данные через @EnvironmentObject, но это работает, только если я перехожу к следующему представлению через NavigationButton, однако я хочу представить следующее представление модально (PresentationButton)

struct ContentView : View {

     @EnvironmentObject var settings: UserSettings

     var body: some View {
        NavigationView {
        VStack {
            // A button that writes to the environment settings
            Button(action: {
                self.settings.score += 1
            }) {
                Text("Increase Score")
            }
            NavigationButton(destination: DetailView()) {
                Text("Show Detail View")
            }
        }
      }
   }
}

struct DetailView: View {
     @EnvironmentObject var settings: UserSettings

     var body: some View {
     // A text view that reads from the environment settings
        VStack {
            Text("Score: \(settings.score)")        
        }
     }
 }

Что я пытаюсь использовать:

 PresentationButton( Text("Show Detail View"), destination: DetailView())

1 Ответ

1 голос
/ 14 июня 2019

Попробуйте передать привязываемый объект на DetailView, используя environmentObject:

PresentationButton(Text("Show Detail View"), 
                   destination: DetailView().environmentObject(settings))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...