【发布时间】:2020-12-16 00:33:19
【问题描述】:
假设我有一个结构:
var topMenu: [TopMenu] = [TopMenu(name: "Menu", index: 1),
TopMenu(name: "Search", index: 2),
TopMenu(name: "Profile", index: 3),
TopMenu(name: "Settings", index: 4)]
这个结构包含一个字符串和一个索引,所以我可以使用这些元素创建一个基于 HStack 和 ForEach 的菜单。这可以。但我现在要做的是:
假设这个结构是动态的:我可以有 3 个元素,但我也可以有 5/6 个元素(基于后端调用)。我想为每个元素呈现不同的视图(点击时)。目前,我正在根据我们的索引使用简单的 if 来执行此操作:
if self.index == 1 {
First()
} else if self.index == 2 {
Second()
} else if self.index == 3 {
Third()
} else {
First()
}
但如果我有更多元素等,这不是最好的方法......
我的想法如下,但我不知道最好的方法是什么:
-
创建一个基于索引返回
Any View的函数,并为每个视图指定一个默认名称,以便我可以迭代?比如 View1、View2 等? -
为我的结构添加一些特殊的东西?
附:我也想以更安全的方式做到这一点,我不想崩溃等! =)
谢谢!
【问题讨论】:
标签: ios performance struct view swiftui