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

时间:2019-09-11 21:02:27

标签: swiftui swiftui-list navigationlink

我正在关注View,我需要将item的内容传递给另一个View(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")
        }
    }

但是它给了我以下错误:

  

传递给不带参数的调用的参数

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

DetailsEvent.swift

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

error

1 个答案:

答案 0 :(得分:1)

您的结构没有名为item的属性。您需要这样的东西:

struct DetailsEvent: View {

    let item: Event

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