繁体   English   中英

从FireBase SWIFT检索数据

[英]Retrieving Data from FireBase SWIFT

如果addByUser =存储在应用程序中的值,我正在尝试从Firebase数据库中获取数据。

我目前所拥有的,表中什么也没有。

firebase数据库如下所示:

training1“名称”“ addedByUser”

我的代码如下所示:

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()
        })

当我正常获取数据而没有比较addByUser是否正常工作时。 有谁知道为什么它不起作用?

谢谢您的帮助

这是我基于一个带有一些编码问题的超级模糊问题的猜测:

createdBy是用户名或字符串形式的uid。

Username.sharedInstance.userDetail是一个对象(某种类型)

因此,您正在将字符串与不是字符串的对象进行比较,这将无法正常工作。

另外,如果您要查询的节点是/ workout1节点,那么您可能应该将参考的名称命名为Exercise1Ref而不是Exercise3Ref。 这可能有助于使代码保持直线。

  • 当您使用Username.sharedInstance.userDetail createdBy String ,请检查您的属性Username.sharedInstance.userDetail也应为String类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM