【发布时间】:2020-07-20 20:08:13
【问题描述】:
我正在尝试创建一个简单的视图列表供用户访问,但我不知道如何用数组变量替换视图名称。在下面的示例中,destination: 被硬编码为 AVExample(),这是我的视图之一,但是如何使用数组中的名称?
struct test: View {
var views = ["AVExample", "ColorPickerExample", "DatePickerExample"]
var body: some View {
NavigationView {
List (views, id: \.self){ view in
NavigationLink(
destination: AVExample(),
label: {
Text("\(view)")
})
}
}
}
}
【问题讨论】:
-
静态类型检查不允许你这样做,相反你可以使用类似于provided here的方法
-
你为什么不使用字典呢? ["AVExample": AVExample(), "ColorPickerExample": ColorPickerExample(), "DatePickerExample": DatePickerExample()]