【发布时间】:2020-02-17 15:31:23
【问题描述】:
我有一个 Swift5 项目,但我认为使用 SwiftUI 仅构建其中一个屏幕会更容易。
问题是我对 SwiftUI 一无所知,所以如果我的问题很愚蠢,我很抱歉。
屏幕上有一个 TextView,我想从 firebase 加载文本数据。
我的问题是我无法在 TextView 中使用加载的数据。
谁能帮助我如何在我的 VStack 中使用函数的变量(如果可能的话)?
我尝试将函数放在 VStack 中,但它给了我一些错误。
这是我的代码:
var body: some View {
List {
VStack {
Text("Just some dummy data, this is not important.")
// i want the "text" variable from loadData() to be in this Text
}
}.onAppear {
func loadData() {
guard let userdef = userdefStr(forKey: "didSelect") else { return }
self.db.collection("news").whereField("title", isEqualTo: userdef)
.getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
let text = document.data()["text"] as? String ?? ""
// this variable should be in the VStack's Text
print("text: \(text)")
Text(text)
}
}
}
}
// i think this is how i can call the loadData function,maybe i am wrong
loadData()
}
}
【问题讨论】:
标签: ios firebase google-cloud-firestore swiftui