是否可以以某种方式将视图声明为var,如下面的结构中所示?
struct OptionViews {
var title: String
var imageName: String
var targetView: View
}
我想使用上面的结构作为一个可能的选择数组(如在设置视图中(,如果我单击一个项目a,它应该打开targetView。然而,由于";协议视图只能用作通用约束";,有没有办法绕过这一点,或者用另一种方法来实现这一点?我需要知道在选择特定项目时应该打开哪个视图,但如果我不能将视图指定为项目的一部分,那似乎是不可能的。
谢谢,Marcus
我想@Asperi在评论中说的是对的。不确定你到底想要什么,但也许你可以让你的结构像一样通用
struct OptionViews<Content> where Content: View {
var title: String
var imageName: String
var targetView: Content
}
// example
let optionViews = OptionViews(title: "Titel",
imageName: "Image",
targetView: Image(systemName: "heart"))