【问题标题】:Console Error : Invalid Firebase Data setvalue cannot store object控制台错误:无效的 Firebase 数据集值无法存储对象
【发布时间】:2018-12-29 08:35:00
【问题描述】:

我是 xcode 8 和 swift 的初学者,在控制台中遇到以下错误,请帮助我

由于未捕获的异常“InvalidFirebaseData”而终止应用程序,原因:“(setValue:) 无法在 profileImageUrl 存储 _SwiftValue 类型的对象。只能存储 NSNumber、NSString、NSDictionary 和 NSArray 类型的对象。'

这是我的代码,

let uid = user?.user.uid
            let storageRef = Storage.storage().reference(forURL: "gs://instagramclone-7713a.appspot.com").child("profile_image").child(uid!)
            if let profileImg = self.selectedImage, let imageData = UIImageJPEGRepresentation(profileImg, 0.1) {
                storageRef.putData(imageData, metadata: nil, completion: { (metadata, error) in
                    if (error != nil) {
                        return
                    }

                    let profileImageUrl = storageRef.downloadURL(completion: { url, error in

                    })

                    let ref = Database.database().reference()
                    let usersReference = ref.child("users")
                    let newUserReference = usersReference.child(uid!)
                    newUserReference.setValue(["username": self.UsernameTextField.text!, "email": self.emailTextField.text!, "profileImageUrl": profileImageUrl])
                })
            }

        })

    }

【问题讨论】:

    标签: ios firebase firebase-realtime-database swift3 firebase-storage


    【解决方案1】:

    你必须在downloadURL()的完成块内调用setValue()

    storageRef.downloadURL(completion: { url, error in
        let ref = Database.database().reference()
        let usersReference = ref.child("users")
        let newUserReference = usersReference.child(uid!)
        newUserReference.setValue(["username": self.UsernameTextField.text!, "email": self.emailTextField.text!, "profileImageUrl": url])
    })
    

    【讨论】:

    • 感谢您的回答,但遗憾的是它仍然无法正常工作;我的应用程序仍然崩溃。我在代码中的 appdelegate 中有一个线程 1 sigabrt ('class AppDelegate: UIResponder, UIApplicationDelegate {')
    猜你喜欢
    • 2019-07-05
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    相关资源
    最近更新 更多