如果 addedByUser = 应用程序中存储的值,我将尝试从 Firebase 数据库中获取数据。
根据我目前的情况,表格中没有出现任何内容。
Firebase 数据库如下所示:
锻炼1 “姓名” “由用户添加”
我的代码如下所示:
workout3Ref.observeEventType(.Value, withBlock: { snapshot in
var newWorkout = [Workout1Info]()
for item in snapshot.children {
let createdBy = snapshot.value["addedByUser"] as? String
if createdBy == Username.sharedInstance.userDetail {
let workoutItem = Workout1Info(snapshot: item as! FDataSnapshot)
newWorkout.append(workoutItem)
}
}
self.workouts = newWorkout
self.tableView.reloadData()
})
当我正常获取数据而无需比较addedByUser是否正常工作时。有谁知道为什么它不起作用?
感谢您的帮助
最佳答案
这是我的猜测,基于一个带有一些编码问题的 super 模糊问题:
createdBy 是字符串形式的用户名或 uid。
Username.sharedInstance.userDetail 是一个对象(某种类型)
因此,您要将字符串与非字符串的对象进行比较,这是行不通的。
此外,如果您要查询的节点是/workout1 节点,那么您可能应该将引用命名为workout1Ref,而不是workout3Ref。这可能有助于保持代码的简洁性。
关于swift - 从 FireBase SWIFT 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203491/