У меня есть проект 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()
}
}