如何使用Swift在Firebase中创建具有多个属性的用户?

时间:2016-01-31 09:10:28

标签: ios swift firebase firebase-realtime-database

我是Firebase的新手(仅限几个小时),并且仍然试图吸收其大部分概念。我按照文档,但仍然没有找到我的问题的直接答案。我在我的应用程序中有一个注册表单...它需要用户名,名称,移动设备等。我使用了firebase createUser函数,但只创建了一个带有电子邮件和密码的用户。

如何创建具有多个属性(名称,移动设备,用户名等)的用户?稍后,我想查询用户名并获取所有相关属性,这样做我需要拥有属性。

P.S。来自Parse,这并不是那么简单。

2 个答案:

答案 0 :(得分:4)

传统上,您需要在Firebase中创建一个/ users节点,其中包含您要存储的有关该用户的任何其他信息。

使用uid(user_id)作为每个用户的节点名称。

users
  uid_0
   name: "Bill"
   food: "Pizza"
  uid_1
   name: "Ted"
   food: "Tacos"

之前已经提出过这个问题,所以请在询问之前尝试搜索与您类似的问题。

这里有更多信息Firebase Users Node

答案 1 :(得分:1)

我假设您将拥有多个用户,您将在访问应用之前对其进行身份验证。您可以先在Swift中创建一个Struct文件,如下所示:

import Foundation
import Firebase

struct User {
let uid: String
let email: String
let usermobilenumber : String
let userFirstName: String
let userLastName : String

// Initialize from Firebase
init(authData: FAuthData) {
    uid = authData.uid
    email = authData.providerData["email"] as! String
    userhandle = authData.providerData["userhandle"] as! String
    userFirstName = authData.providerData["userFirstName"] as! String
    userLastName = authData.providerData["userLastName"] as! String
}

// Initialize from arbitrary data
init(uid: String, email: String, userLastName: String, userFirstName: String, usermobilenumber: String) {
    self.uid = uid
    self.email = email
    self.userLastName = userLastName
    self.userFirstName = userFirstName
    self.usermobilenumber = userhandle

}
}

使用文本字段,执行用户输入任务。然后,您需要访问要在其中写入数据的Firebase节点(您之前可能已将其保存为ref = Firebase(url: "my-awesome-app.firebaseio.com/userinfo"),而只需ref.updateChildValues()

我的回答是帮助您入门的示意图,因为Firebase文档非常详尽,并且可以解答初学者遇到的大多数问题。您应该阅读this website,并阅读API参考资料,以帮助您完全实现您想要的目标。