我收到错误" 静态方法'buildBlock'要求'UInt'符合'View'"尝试从Firebase实时数据库读取数据



我只是想读取数据并将其存储在int中,但我似乎无法读取任何类型的数据而不出现错误。如果你需要任何关于项目的补充信息,请告诉我

代码:

import FirebaseDatabaseSwift
import SwiftUI
import Firebase
struct InGameView: View {
var ref: DatabaseReference! = Database.database().reference()
var refOffset: DatabaseReference! = Database.database().reference().child("")

var body: some View {

refOffset.observe(.value) { DataSnapshot in
print(DataSnapshot)
}
}
}    

数据库屏幕截图:在此处输入图像描述

它与FireBase无关。refOffset.observe(.value)不返回视图,因此不应在var body中使用。您可以通过将其更改为:来进行编译

var body: some View {
let _ = refOffset.observe(.value) { DataSnapshot in
print(DataSnapshot)
}
}

但是不要这样做,那是非常糟糕的做法。像这样的调用应该在它自己的函数中,并从init().onAppear()调用,或者作为某种状态更改的结果。

最新更新