【发布时间】:2020-03-21 09:12:33
【问题描述】:
所以我正在尝试将一些数据存储到我的实时数据库中。我目前有两个单独的视图控制器,一个是供用户注册的,另一个是供用户选择他们的个人资料图像并能够更改该图像的。在注册页面上,我将“用户名”保存到 firebase,如下所示:
let ref = Database.database().reference().root
let userObject = [
"username":fullname
] as [String:Any]
ref.child("users/profile").child((result!.user.uid)).setValue(userObject)
对于个人资料图片,我保存了这样的数据
func saveProfileImage(profileURL:URL, completion: @escaping ((_ url: URL?) -> ())){
guard let uid = Auth.auth().currentUser?.uid else { return }
let databaseRef = Database.database().reference().child("users/profile/\(uid)")
let userObject = [
"photoURL": profileURL.absoluteString
] as [String:Any]
self.ref.child("users/profile").child(uid).setValue(userObject)
}
我希望这两个数据都保存在用户 -> 个人资料 -> UID 下,并在 UID 下观察到“用户名”和“照片URL”的值。我现在唯一遇到的问题是,当我注册一个帐户时,它会将用户名正确保存在 UID 节点下,一旦我为用户保存配置文件图像,它就会保存在 UID 节点下,但会替换“用户名”节点。我想知道,如何将这两个数据保存在用户-> 配置文件-> UID 下,用户名和 photoURL 位于单独的视图控制器上。
【问题讨论】:
标签: ios firebase firebase-realtime-database