gpt4 book ai didi

ios - 试图快速从 firebase 数据库中获取用户

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:02 25 4
gpt4 key购买 nike

尝试快速从 firebase 数据库中获取用户,但出现错误此类与键的键值编码不兼容。我不认为我做错了什么,因为它不是我的第一个应用程序。我之前能够以完全相同的方式在其他应用程序中获取用户。但它现在不起作用。所有必要的细节如下。请帮忙,谢谢这是代码

func fetchUsers() {
Database.database().reference().child("Users").observe(.childAdded, with: { (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
print(snapshot)
let user = Users()
user.setValuesForKeys(dictionary)
//print(user.Email ?? "")
//print(user.Name ?? "")

}
}, withCancel: nil)
}

这是模型:

import UIKit

class Users: NSObject {
var Name : String?
var Email : String?
}

数据库截图 enter image description here

控制台错误

ChatHub[2089:904743] * Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key Email.' * First throw call stack: (0x182dd7d38 0x1822ec528 0x182dd7a00 0x1836e3780 0x18377fc0c 0x1048000d8 0x104800174 0x1048ac760 0x1048d7e40 0x105b0d49c 0x105b0d45c 0x105b12050 0x182d7ff20 0x182d7dafc 0x182c9e2d8 0x184b2ff84 0x18c24b880 0x104806a64 0x1827c256c) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

最佳答案

在我看来,你不应该在开头用大写字母命名你的实例/对象/变量,参见:https://softwareengineering.stackexchange.com/questions/202031/what-is-the-reason-for-using-lowercase-for-the-first-word-in-a-local-variable-e .

回到您的问题,您是否尝试重命名您的 Users 的属性?尽可能使用Struct,而不需要像这样使用类和子类NSObject,以便于初始化。我怀疑您的 Email 变量名称是导致错误的原因。

struct Users {
var name: String?
var email: String?
}

Users 的新实例:

let user = Users(name: "name here", email: "email here")

希望对您有所帮助!

关于ios - 试图快速从 firebase 数据库中获取用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46877135/

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