Why do I keep getting this error when trying to create a firebase counter? I am literally following the google firebase docs line for line. this is the create counter function
func createCounter(ref: DocumentReference, numShards: Int) {
ref.setData(["numShards": numShards]){ (err) in
for i in 0...numShards {
ref.collection("shards").document(String(i)).setData(["count": 0])
}
}
}
and this is how I am trying to use it
Button("In there"){createCounter(ref: ref.document("Posts"), numShards: 0); incrementCounter(ref: ref.document("Posts"), numShards: 0); getCount(ref: ref.document("Posts"))
}
I also keep getting this "Return from initializer without initializing all stored properties" error when I have this.
struct PostRow: View {
var post: PostModel
@ObservedObject var postData : PostViewModel
let db = Firestore.firestore()
let uid = Auth.auth().currentUser!.uid
let numShards: Int
let count: Int
init(numShards: Int, count: Int) {
self.numShards = numShards
self.count = count
}
Use this code in the init(){}
of SwiftUI View.
init() {
UINavigationBar.appearance().barTintColor = UIColor.clear
UINavigationBar.appearance().tintColor = .clear
UINavigationBar.appearance().isOpaque = true
}
you are getting the error because you are not initialising all your variables in "init(...)". Try something like this:
struct MAPostRow: View {
let loc: String = "Massachusetts" // <--- initialized
var post: PostModel // <-- not initialized
@ObservedObject var MApostData : MAPostViewModel // <-- not initialized
let uid = Auth.auth().currentUser!.uid // <-- avoid doing this "!"
init(post: PostModel, MApostData: MAPostViewModel) { // <-- need to do this
self.post = post // <--- now initialized
self.MApostData = MApostData // <--- now initialized
UINavigationBar.appearance().barTintColor = UIColor.clear
UINavigationBar.appearance().tintColor = .clear
UINavigationBar.appearance().isOpaque = true
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.