【发布时间】:2020-09-29 01:42:30
【问题描述】:
所以我在Functions 类中有这个功能:
struct Prices {
var standardPrice: Int!
}
// FUNC PRICING
class Functions {
private var PricingRef: CollectionReference!
var price = Prices()
func getPrice() -> Prices {
PricingRef = Firestore.firestore().collection("ProductXYZ")
PricingRef.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("Error fetching data \(err)")
}
else {
guard let snap = snapshot else { return }
for document in snap.documents {
let data = document.data()
let std = data["standard"] as! String
self.price.standardPrice = Int(std)!
print(self.price.standardPrice!) // This print the intended result
}
}
}
return price
}
}
那我想把standardPrice的值传给这个类,叫PriceList:
class PriceList: UITableViewController {
var price = Prices()
var newStandardPrice = 0
func Price() {
price = Functions().getPrice()
newStandardPrice = price.standardPrice // always error with value nil
}
我总是遇到newStandardPrice 为零的错误。
但是print(self.price.standardPrice!) 显示了我想要的结果数量。
据我所知,这里的问题是因为firebase firestore从数据库中获取数据需要时间。
从 firebase 数据库分配新价格后,如何获取 standardPrice 的值?
任何帮助将不胜感激
谢谢
【问题讨论】:
标签: ios swift firebase google-cloud-firestore swift5