我在Cloud Firestore中有一个数字字段,需要在标签中显示为字符串。
通常,如果该字段是字符串,我可以执行此代码
db.collection("users").document(uid ?? "UID not yet loaded in viewDidLoad()")
.addSnapshotListener { snapshot, error in
if error != nil {
print(error ?? "Couldn't update text field TextUser according to database")
} else {
if let dbUsername = snapshot?["username"] as? String {
self.textUser?.text = dbUsername
}
之所以可行,是因为文档中的“用户名”是值字符串。 但这是行不通的,因为文档中的“现金”是一个数值。
if let dbCash = snapshot? ["cash"] as? String {
self.labeCash?.text = dbCash
}
我可能只需要将数字(无论使用什么类型)转换为字符串即可。但是我该怎么做呢?谢谢!
答案 0 :(得分:1)
你能尝试
if let dbCash = snapshot? ["cash"] as? NSNumber {
self.labeCash?.text = dbCash.stringValue
}