在 Swift 中,我有一个连接到 FireStore 的 viewModel,当我调用它的函数 fetchData 时,它成功返回了许多文档。但是,当我尝试使用索引引用文档时,会出现超出范围的错误。
在此示例中,文档数返回为 1,因此我看不出为什么下一个 Text 语句不起作用。会不会是时间问题?意思是,文件在那个时候实际上是可用的。
@ObservedObject var testViewModel = GetTestViewModel()
var body: some View {
VStack {
Text("Number of tests = \(testViewModel.test.count)") // Returns 1
Text("Test Level = \(testViewModel.test[0].level)")
// Allways crashes with Fatal error: Index out of range
}
.onAppear() {
// This should and does return one record
testViewModel.fetchdata(testId: "4Yv7iT2BjHCKNzr4umpG")
LoadNewTest()
}
}
func LoadNewTest() {
print("Load Test")
if !testViewModel.test.isEmpty {
print("Number of tests = \(testViewModel.test.count)") // Never prints
}
}