gpt4 book ai didi

ios - 通过 IOS 重新加载时向 firebase 添加一行数据后,数据丢失

转载 作者:行者123 更新时间:2023-11-28 08:19:01 25 4
gpt4 key购买 nike

在 IOS 中,我导航到屏幕并通过以下代码添加数据:

let dbRow = FIRDatabase.database().reference().child("bikes").child(self.userUid).childByAutoId()

dbRow.child("brand").setValue(self.brand.text)
dbRow.child("model").setValue(self.model.text)
dbRow.child("year").setValue(self.year.text)
dbRow.child("serialNo").setValue(self.serialNo.text)
dbRow.child("store").setValue(self.store.text)
dbRow.child("imageURL").setValue(metadata?.downloadURL()!.absoluteString)

self.navigationController!.popViewController(animated: true)

在我向后导航并在原始屏幕的 ViewDidLoad 函数中,我有以下代码:

FIRDatabase.database().reference().child("bikes").child(userUid).observe(FIRDataEventType.childAdded, with: { (snapshot) in

if snapshot.exists() {
let bike = Bike()

bike.bikeKey = snapshot.key
let bikeDict = snapshot.value as! [String : AnyObject]

bike.brand = bikeDict["brand"] as! String
bike.ImageUrl = bikeDict["imageURL"] as! String
bike.model = bikeDict["model"] as! String
bike.SerialNo = bikeDict["serialNo"] as! String
bike.Store = bikeDict["store"] as! String
bike.year = bikeDict["year"] as! String

self.bikes.append(bike)
self.tableView.reloadData()

}
// print(self.bikes.count)
// method to get current user id FIRAuth.auth()!.currentUser!.uid
})

获取品牌有效,但访问 imageURL 时返回错误 EXC_BAD_INSTRUCTION。但是,在第一次加载屏幕时,将返回所有行。有什么想法吗?

最佳答案

您应该异步重新加载数据。我现在正在打电话,不确定这段代码是否有效,但你可以试一试:

 DispatchQueue.main.async {
self.tableView.reloadData()
}

关于ios - 通过 IOS 重新加载时向 firebase 添加一行数据后,数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41751682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com