首页 > 解决方案 > 无法存储 Firebase 数据类型“AuthService”没有成员“setUserinformation”

问题描述

我发现很难解决将数据存储到 Firebase 控制台的问题。我相信代码有些正确,但我似乎无法找出错误

类型“AuthService”没有成员“setUserinformation”

希望有人可以帮助我解决我的问题。非常感谢您的帮助!

我还附上了问题的截图:问题截图

static func signUp(username: String, email: String, password: String, firstname: String, lastname: String, imageData: Data, onSuccess: @escaping () -> Void, onError: @escaping (_ errorMessage: String?) -> Void) {
    Auth.auth().createUser(withEmail: email, password: password) { (authData: AuthDataResult?, error: Error?) in
        if error != nil {
            onError(error?.localizedDescription)
            return
        }
        let uid = authData!.user.uid
        let storageRef = Storage.storage().reference(forURL: Config.STORAGE_ROOF_REF).child("profile_image").child(uid)

        storageRef.putData(imageData, metadata: nil, completion: { (_, error: Error?) in
            if error != nil {
                return
            }
            storageRef.downloadURL(completion: { (url: URL?, error: Error?) in
                if let profileImageUrl = url?.absoluteString {

                    self.setUserInformation(profileImageUrl: profileImageUrl!, username: username, email: email, firstname: firstname, lastname: lastname, uid: uid, onSuccess: onSuccess)
                }

              }

            )}

        )}
    }

标签: iosfirebase-realtime-databaseswift4

解决方案


您在静态方法 ( s ​​ignUp ) 中调用了类方法 ( s ​​etUserInformation ),这是不允许的,并且在您调用它时未创建self对象。

您可以通过向 setUserInformation 方法添加静态signUp方法中删除静态来解决它。


推荐阅读