【发布时间】:2023-03-11 13:00:01
【问题描述】:
我想在 SwiftUI 中使用新的 App Protocol @main --> NO Scene 或 AppDelegate 设置 EnvironmentObject。我是否可以在我的内容视图中设置 EnvironmentsObjects,而不是我的 @main .swift ?如果是的话?为什么我不能在我的 NavigationLink 中传入环境对象(如您所见),而 Swift 要我手动输入数据,我想传递给 LoadingPage()。
非常感谢!
import SwiftUI
struct ContentView: View {
//MARK: Properties
var body: some View {
let user = UserData()
//MARK: BODY
TextPage().environmentObject(user)
在我想在 NavLink 中调用 LoadingPage() 的 TextPage() 上
import SwiftUI
import Combine
struct TextPage: View {
//MARK: Properties
@EnvironmentObject var user : UserData
@ObservedObject var post = Anfrage()
@State var checkData = false // checkInput Var
var body: some View {
//MARK: Body
NavigationView{
VStack (alignment: .center, spacing: 30) {
//NAV LINK
NavigationLink(
destination: LoadingPage().environmentObject(user), isActive: $checkData) { EmptyView() }
```
And this is what Swift suggests me to correct:
LoadingPage(user: <#Environment<UserData>#>).environmentObject(user)
【问题讨论】:
标签: swiftui swiftui-navigationlink environmentobject