google-cloud-firestore - 如何在 swiftui 中实现 struct View 上的 var 类 ObservableObject
问题描述
我无法在 swiftui 中实现 struct View 上的 var 类 ObservableObject
struct History: View {
var busId : String
@ObservedObject var historyData = getHistory()
var body: some View {
ZStack{
ScrollView(.vertical, showsIndicators: false){
VStack(alignment: .leading){
ForEach(historyDataSatu.data){i in
Text("Something")
}
}
}
}
}
class getHistory: ObservableObject {
@Published var data = [history]()
init() {
let db = Firestore.firestore().collection("Bus").document(busId)
// An error occurs when I implement busId into document(busId). Please help me.
}
}
}
struct history: Identifiable {
var id : String
var day : String
}
解决方案
您可以ObservedObject
在 init 方法中启动您的对象 historyData。希望对你有帮助
struct History: View {
var busId : String
@ObservedObject var historyData = getHistory(busId: "")
init() {
self.historyData = getHistory(busId: busId)
}
var body: some View {
ZStack{
ScrollView(.vertical, showsIndicators: false){
VStack(alignment: .leading){
ForEach(historyData.data) { i in
Text("Something")
}
}
}
}
}
}
class getHistory: ObservableObject {
@Published var data = [history]()
init(busId: String) {
let db = Firestore.firestore().collection("Bus").document(busId)
}
}
推荐阅读
- expo - 在 Expo Managed react native 应用程序中是否可以使用 Intl.Collator?
- ssis - 使用 SSIS 到 SharePoint Online 的 HTTP 连接错误
- excel - Excel数据透视表如何获取最小字段的平均值
- jenkins - 如何在 Jenkins 作业配置中指定发布分支正则表达式
- flutter - 加载主页小部件(MyHomepage)时出错
- angular - Service Worker 不适用于 Azure 静态 Web 应用上的自定义域
- list - 谷歌应用脚本中的比较列表
- jsp - JSTL 语句出现在生成的 HTML 中的错误位置和格式
- date - Drupal - 从“日期”字段中获取“年份”值
- statistics - 最小二乘 (LS) 和普通最小二乘 (OLS) 的区别