如何在 swiftui 中实现 struct View 上的 var 类 ObservableObject
Posted
技术标签:
【中文标题】如何在 swiftui 中实现 struct View 上的 var 类 ObservableObject【英文标题】:How to implement var on struct View to class ObservableObject in swiftui 【发布时间】:2020-04-06 07:17:51 【问题描述】:我无法将 struct View 上的 var 实现为 swiftui 中的 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
【问题讨论】:
【参考方案1】:您可以在 init 方法中启动您的 ObservedObject
对象 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)
【讨论】:
以上是关于如何在 swiftui 中实现 struct View 上的 var 类 ObservableObject的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI 中实现 MVVM 模式?视图不会重新渲染
如何在 SwiftUI 中的 WatchOS 中实现 handleUserActivity?
如何在 SwiftUI 中实现触发 switch case 的左或右 DragGesture()?