swift - 如何将通用视图传递给 SwiftUI 中的结构
问题描述
我收到Failed to produce diagnostic for expression; please file a bug report
以下代码的错误。在我看来这很简单,但可能与泛型有关。如何将通用视图传递给结构?
在 SwiftUI 视图中,我有这个:
import SwiftUI
struct PageView<Page: View>: View {
var views: [UIHostingController<Page>]
init(_ views: [Page]) {
self.views = views.map { UIHostingController(rootView: $0) }
}
var body: some View {
Text("Page View")
}
}
struct View1: View {
var body: some View {
Text("View 1")
}
}
struct View2: View {
var body: some View {
Text("View 2")
}
}
struct Reference: View {
var body: some View { // <- Error here
PageView([View1(), View2()])
}
}
解决方案
这是可能的解决方案
struct Reference: View {
var body: some View {
PageView([AnyView(View1()), AnyView(View2())])
}
}
推荐阅读
- c++ - Ctest 没有找到带有子目录的 catch2 测试
- python - 安装 keras 后没有名为 keras 的模块
- javascript - 使用 if else jquery 和 attr()
- javascript - 图像映射未调整大小
- kubernetes-helm - helm template --debug 或 helm install --dry-run --debug ,哪个最好?
- html - Flexbox 子节点的大小不一样
- r - 来自 xts 对象列表的 rbind.xts
- python - 如何绘制kmeans?
- java - 我不明白如何移动树的一部分
- node.js - Objection.js/Knex.js 查询错误(错误:带有时区的时间戳类型的输入语法无效:“null”)