问题描述
我是Swift的新手,无法返回用户吗? Firebase中currentUser的CURRENT_USER的值。我在下面有我的User类声明,它位于一个单独的UserApi文件中。非常感谢所有帮助!
var CURRENT_USER: User? {
if let currentUser = Auth.auth().currentUser {
return currentUser
}
return nil
}
用户声明:
class User {
var email: String?
var profileImageUrl: String?
var username: String?
var id: String?
var isFollowing: Bool?
}
extension User {
static func transformUser(dict: [String: Any],key: String) -> User {
let user = User()
user.email = dict["email"] as? String
user.profileImageUrl = dict["profileImageUrl"] as? String
user.username = dict["username"] as? String
user.id = key
return user
}
}
解决方法
由于您在项目中声明了User
类型,因此User
中的单词var CURRENT_USER: User? {
会解析为您自己的User
类型,而不是FirebaseAuth.User
,它在另一个模块中。
要解决此问题,请执行以下任一操作:
-
将您自己的
User
重命名为UserInfo
或; -
将前缀
FirebaseAuth.
添加到User
来区分:var currentUser: FirebaseAuth.User? { Auth.auth().currentUser }
您还可以添加一个
typealias
,为FirebaseUser
提供一个不同的名称:typealias FirebaseUser = FirebaseAuth.User