![](/img/trans.png)
[英]Cannot convert return expression of type 'User' to return type 'User?'
[英]Cannot convert return expression of type 'User' to return type 'User?' for getting currentUser from Firebase
我是 Swift 的新手,我無法返回用戶? CURRENT_USER 的 Firebase 中的 currentUser 的值。 我在下面有我的用戶 class 聲明,它位於單獨的 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
類型, var CURRENT_USER: User? {
User
var CURRENT_USER: User? {
解析為您自己的User
類型,而不是另一個模塊中的FirebaseAuth.User
。
要解決此問題,請執行以下任一操作:
將您自己的User
重命名為諸如UserInfo
之類的名稱,或者;
添加前綴FirebaseAuth.
給User
區分:
var currentUser: FirebaseAuth.User? { Auth.auth().currentUser }
您還可以添加一個typealias
給 Firebase User
一個不同的名稱:
typealias FirebaseUser = FirebaseAuth.User
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.