【发布时间】:2016-02-28 09:56:24
【问题描述】:
我刚刚尝试从我的项目的 firebase 中检索数据。例如,在 UILabel 中显示 facebook 用户名。我像这样存储 facebook 用户数据
然后使用检索数据:
let ref = Firebase(url:"https://<app-name>.firebaseio.com/users/facebook:10207213459687665/name")
ref.observeEventType(.Value, withBlock: { snapshot in
self.facebookUserName.text = snapshot.value as! String
})
它运行良好,但通过在特定路径中检索用户名非常愚蠢,因为这可能是不同的 facebook 用户登录。
我想检查用户是否已登录并显示他们的姓名或检查 currentUser 或任何更聪明的方法来做到这一点? 我不知道该怎么做。
【问题讨论】:
-
从 firebase 获取数据的方式并不愚蠢。实际上,我会做与您现在正在做的完全相同的事情来获取用户名。我认为您的问题不在于从 firebase 获取用户数据,而是您对在用户登录时将用户的 facebook ID 放在哪里感到困惑。
-
您的意思是要为该用途添加一个用户 ID 并通过他们的用户 ID 检索数据吗?我认为应该有一种“更聪明”的方式来做到这一点。
-
以后,请从 Firebase 复制并粘贴您的数据结构,而不是图片,这样我们就不必重新输入了。 :-)
-
这确实不是一个易于扩展的数据结构。例如,如果您想在他们的节点中存储有关用户的其他信息怎么办?喜欢他们最喜欢的食物。然后 Snapshot.value 成为一个带有键值对的字典(名称:Nicholas,食物:披萨)。请参阅我的答案以了解几种可能性。
-
很抱歉没有上传结构。在这种情况下,我怎样才能拥有更好的数据结构?在其中添加 user_id ?