gpt4 book ai didi

ios - 无法将类型 'NSTaggedPointerString' 的值转换为 'NSDictionary'。 swift/火力基地

转载 作者:可可西里 更新时间:2023-10-31 23:13:51 26 4
gpt4 key购买 nike

当在 Firebase 中监听一个新对象时,我得到这个错误:无法将 NSTaggedPointerString 类型的值转换为 NSDictionary。以下是监听已注册用户的代码。

FIRAuth.auth()!.addStateDidChangeListener { auth, user in
guard let user = user else { return }
self.user = User(authData: user)

let userref = FIRDatabase.database().reference(withPath: "users").child(self.user.uid)
userref.observe(.value, with: { snapshot in
print(snapshot.value!)
var newItems: [UserItem] = []
for item in snapshot.children {
let userDetail = UserItem(snapshot: item as! FIRDataSnapshot) /////////// CRASHES HERE //////////
newItems.append(userDetail)
}
self.userItem = newItems
})
print(self.user.uid)
}

当错误出现时它指向这里:

    init(snapshot: FIRDataSnapshot) {
key = snapshot.key
let snapshotValue = snapshot.value as! [String:Any] ///// ERROR HERE
name = snapshotValue["name"] as! String
email = snapshotValue["email"] as! String
age = snapshotValue["age"] as! String
ref = snapshot.ref
}

控制台正在正确打印 Firebase 内部的内容,数据在那里并且存在,但是这种转换或数据读取错误不断发生。它与转换有关,但我不确定。

最佳答案

snapshot.value as! String

在这种情况下,该值是一个字符串,因此您必须将其转换为。

关于ios - 无法将类型 'NSTaggedPointerString' 的值转换为 'NSDictionary'。 swift/火力基地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40895887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com