【发布时间】:2021-05-09 04:08:51
【问题描述】:
我正在尝试与 SwiftUI 搏斗,但我的 Xcode 版本有问题,或者我做错了什么。我正在尝试遍历一系列社交网络,但它没有遍历。我得到的错误信息是:
在“ForEach”上引用初始化程序“init(_:content:)”要求“SocialNetwork”符合“View”
通用结构“列表”要求“社交网络”符合“视图”
struct SocialNetwork: Identifiable {
let id = UUID()
let type: NetworkType
let url: String
let icon: String
}
struct ChartView: View {
var networks = [SocialNetwork(type: .Instagram, url: "", icon: "")]
var body: some View {
GeometryReader { geometry in
VStack {
List {
ForEach(networks) { net in
net
}
}
}
}
}
}
我很困惑为什么一个简单的结构需要符合 View 而它只是一个可识别的数组?
【问题讨论】:
-
在您的 ForEach 中,您尝试在屏幕上添加一个“网络”,它是一个数据点,而不是一个视图组件。您需要将网络数据放入一个对象中,例如 Text()。