【发布时间】:2021-05-13 11:39:43
【问题描述】:
所以我的目标是在加载表格视图单元格的 detailsVC 并且未购买的事件显示不同的按钮时让购买的事件显示某些按钮。所以我在这种情况下所做的是对集合路径中的文档进行查询调用,字段为purchased:true,如果有错误,处理它,但如果没有,显示已购买事件的按钮。
override func viewDidLoad() {
super.viewDidLoad()
viewPurchaseButton.isHidden = true
cancelPurchaseButton.isHidden = true
getSchoolDocumentID { (id) in
if let ident = id {
self.db.collection("school_users/\(ident)/events").whereField("purchased", isEqualTo: true).getDocuments { (querySnapshot, error) in
if let error = error {
print("There was an error fetching the docs: \(error)")
} else {
self.viewPurchaseButton.isHidden = false
self.cancelPurchaseButton.isHidden = false
self.purchaseTicketButton.isHidden = true
self.creditCard.isHidden = true
}
}
}
}
所以我运行这个认为它会起作用,我在集合中只有 4 个文档中的 1 个文档具有字段 purchased 等于 true,所以当我单击该字段为 @ 的单元格时,我预计987654326@ 在我的 tableVC 中,详细信息 VC 将显示正确的按钮。 detailsVC 显示了正确的按钮,但是当我离开 VC 并单击另一个具有purchased 字段为false 的单元格时,我很困惑为什么会出现这些按钮。如果有人可以向我解释为什么会发生这种情况或指出我的代码存在问题,那就太好了。
【问题讨论】:
标签: swift firebase google-cloud-platform google-cloud-firestore querying