【发布时间】:2021-04-04 21:35:27
【问题描述】:
我希望每次点击按钮时都有一个计数器
因此我有以下代码来创建按钮
func configureButton() -> UIButton{
button.setTitle("drink", for: .normal)
button.setImage(#imageLiteral(resourceName: "beer-2288121_640").withRenderingMode(.alwaysOriginal), for: .normal)
button.addTarget(self, action: #selector(handleDrinkButton), for: .touchUpInside)
button.backgroundColor = .black
button.imageView?.contentMode = .scaleAspectFill
return button
}
我还有一个计数器的公共变量
var beer: Int?
我想获取数据并将其推送到 Firebase
@objc func handleDrinkButton() {
var db = Firestore.firestore()
let userID = Auth.auth().currentUser?.uid
self.beer = db.collection("users").document(userID!).collection("beer") as! Int
self.beer! += 1
Firestore.firestore().collection("users").document(userID!).updateData(["beer": self.beer])
// ...
}){ (error) in
print(error.localizedDescription)
}
}
但数据不会改变。
不知道是我增加数字false还是读写数据的方式不对。
【问题讨论】:
-
您的代码正在读取实时数据库,然后写入 Cloud Firestore。这是故意的吗?
-
谢谢,我已经编辑了 Firestore 的评论
-
但我认为将用户数据分配给整数是错误的方法。我收到以下错误消息:无法将“CollectionReference”类型的值分配给“Int”
-
也许像 self.beer = dbRef.collection("beer") 一样?诠释?? 0 自我啤酒! += 1
标签: ios swift firebase google-cloud-firestore