使用 NavigationLink 将信息传递到另一个视图

Pass information to another view with NavigationLink

我有以下视图,我需要将 item 内容传递给另一个视图 (DetailsEvent.swift),我正在使用 NavigationLink。 (我正在使用 Xcode 11 GM)

struct Events: View {

    @ObservedObject var networkManager = NetworkManager()

    var body: some View {

        NavigationView{

            List(self.networkManager.eventos.events){ item in

                NavigationLink(destination: DetailsEvent(item: item))  {

                    VStack(alignment: .leading) {

                      HStack {

                        Image(systemName: "calendar")
                        .foregroundColor(.gray)

                        Text(item.start_date)
                            .font(.subheadline)
                            .foregroundColor(.gray)
                      }

                    Text(item.title)
                        .font(.headline)                    
                }
              }

           }
            .navigationBarTitle("Events")
        }
    }

但它给了我以下错误:

Argument passed to call that takes no arguments

不传递任何变量:NavigationLink (destination: DetailsEvent ()一切正常。

DetailsEvent.swift

struct DetailsEvent: View {
    var body: some View {
        Text("here details content")
    }
}

您的结构没有 属性 调用项。你需要这样的东西:

struct DetailsEvent: View {

    let item: Event

    var body: some View {
        Text("here details about \(item.title)")
    }
}