swiftui-将视图保存到变量

swiftui-将视图保存到变量,swiftui,Swiftui,我有以下资料: struct Event: Identifiable { let id: Int let name: String let image: String } let events = [ Event(id: 0, name: "Host Tournament", image: "cup"), Event(id: 1, name: "Post Club Info", image: "shield"), Event(id: 3, nam

我有以下资料:

struct Event: Identifiable {
    let id: Int
    let name: String
    let image: String
}

let events = [
    Event(id: 0, name: "Host Tournament", image: "cup"),
    Event(id: 1, name: "Post Club Info", image: "shield"),
    Event(id: 3, name: "Share A Post", image: "write")
]
我希望每个事件都能有一个独立的观点

例如
事件(id:0,名称:“主办锦标赛”,图像:“奖杯”,目的地视图:PostView())

因此,在循环事件时,我可以将destinationView传递到NavigationLink。我不确定PostView()应该在我的结构中定义为什么类型

这就是我目前正在做的:

ForEach(events) { event in
  NavigationLink(destination: //PASS VIEW HERE FROM EVENT) {
     VStack {
         Image(event.image)
          .resizable()
          .aspectRatio(contentMode: .fill)
          .frame(width: 100, height: 100)
          .padding(55)
          Text(event.name)
          .font(.system(.headline))
          .padding(.bottom,20)
         }
         .padding()
         .border(Color.black, width: 4)
         .cornerRadius(10)
       }.buttonStyle(PlainButtonStyle())
   }

我希望能够根据其循环通过的事件传入视图。

这是纯粹的设计,将模型与视图紧密耦合。。。但如果你愿意,从技术上讲,可以用以下方法

let events = [
    Event(id: 0, name: "Host Tournament", image: "cup",
         destinationView: AnyView(PostView())),
    Event(id: 1, name: "Post Club Info", image: "shield",
         destinationView: AnyView(ClubView())),
    Event(id: 3, name: "Share A Post", image: "write", 
         destinationView: AnyView(StoryView()))
]

你说的独立观点是什么意思?不同类型?你能提供更多细节吗?刚刚更新了我的问题@Asperii我想你可能误解了我,我已经提出了更多细节问题
let events = [
    Event(id: 0, name: "Host Tournament", image: "cup",
         destinationView: AnyView(PostView())),
    Event(id: 1, name: "Post Club Info", image: "shield",
         destinationView: AnyView(ClubView())),
    Event(id: 3, name: "Share A Post", image: "write", 
         destinationView: AnyView(StoryView()))
]