gpt4 book ai didi

swift - 未解析的标识符 "completion"

转载 作者:行者123 更新时间:2023-11-28 13:46:27 25 4
gpt4 key购买 nike

我有一些代码我在项目的其他地方使用过并修改它以获取用户数据,但是有一个错误说完成是一个未解析的标识符,我无法找到解决方案。

我尝试向调用本身添加一个完成 block ,并通读 Firebase 文档以尝试找到解决方案,但似乎没有任何效果。

func observeCurrentUser() {
guard let currentUser = Auth.auth().currentUser else {
return
}

CURRENT_USERS_REF?.child(currentUser.uid).observeSingleEvent(of: .value, with: {
snapshot in
if let dict = snapshot.value as? [String: Any] {
let user = User.transformUser(dict: dict)
completion(user)
}
})
}

最佳答案

您需要添加尾随闭包 ( completion ),因为您当前的语句 completion(user) 显示您尚未添加它

func observeCurrentUser(completion:@escaping((User?) -> ())) {
guard let currentUser = Auth.auth().currentUser else {
completion(nil)
return
}

CURRENT_USERS_REF?.child(currentUser.uid).observeSingleEvent(of: .value, with: {
snapshot in
if let dict = snapshot.value as? [String: Any] {
let user = User.transformUser(dict: dict)
completion(user)
}
})
}

关于swift - 未解析的标识符 "completion",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55341739/

25 4 0