swift - Firebase 评论未出现在数据库中

原文 标签 swift firebase firebase-realtime-database firebase-authentication

我是 Firebase 的新手。我正在使用 swift 。我想将用户的评论存储在我的数据库中,但 Firebase 上似乎没有显示任何内容。我的代码有问题吗?
谢谢你的帮助。

@IBAction func OnSubmitTouched(_ sender: UIButton) {
    if (textField.text != ""){

       let ref = Database.database().reference()
       let commentsReference = ref.child("comments")
       let newCommentID = commentsReference.childByAutoId().key
       let newCommentReference = commentsReference.child(newCommentID)
        guard let currentUser = Auth.auth().currentUser else {
            return
        }
        let currentUserID = currentUser.uid
        newCommentReference.setValue(["uid": currentUserID, "commentText": textField.text!]) { (error, ref) in
            if error != nil {
               // ProgressHUD.showError(error!.localizedDescription)
                return
            }
        }

最佳答案

听起来您希望用户能够发表评论。用户可以选择登录,在这种情况下,您还希望存储他们的 UID。

以非常简单的方式执行此操作(我也不是 Swift 专家)是:

    var currentUserID = "anonymous"
    if let currentUser = Auth.auth().currentUser {
        currentUserID = currentUser.uid
    }
    newCommentReference.setValue(["uid": currentUserID, "commentText": textField.text!]) { (error, ref) in
        if error != nil {
            print(error!.localizedDescription)
            return
        }
    }

现在uid属性将具有发表评论的用户的 UID,或 "anonymous"如果用户未登录。

关于swift - Firebase 评论未出现在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52008521/

相关文章:

android - 错误 : Could not find method platform() for arguments - React Native - Firebase

java - Flutter 中的 Firebase (FCM) 注册 token

java - 对 token 感到困惑

android - 结合排序和过滤的好方法 - Firebase 实时数据库结构

ios - Swift 3中的UIPickerView和子类数组

ios - 为什么授权 header 在 iOS PATCH 请求中被删除?

ios - 快速将第二个字符串复制到第一个字符串时,如何使用“0”填充第一个字符串的剩余空间?

swift - 如何查询Firestore数组中的值

ios - 在 Safari 中打开 Swift 3 UIWebView(来自视频的 YouTube Logo /水印超链接)

android - Android和Firebase:用于不同测试周期的不同环境