gpt4 book ai didi

ios - 将快照字典从 firebase 数据库保存到类对象

转载 作者:行者123 更新时间:2023-11-28 06:05:55 26 4
gpt4 key购买 nike

尝试将快照从我的用户 facebook-firebase 信息保存到用户类,以便我可以在整个应用程序中引用它。当我使用“user.setValuesForKeysInDictionary(dictionary)”将快照字典转换为用户对象时,应用程序崩溃,如果我注释掉该行,则 print(dictionary["first_name"]) 有效。有什么想法吗?

var users = [User]()

override func viewDidLoad() {
super.viewDidLoad()

navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(handleCancel))

fetchUser()
}

func fetchUser() {
Database.database().reference().child("users").observe(.childAdded, with: { (snapshot) in

if let dictionary = snapshot.value as? [String: AnyObject] {
let user = User()
user.setValuesForKeysInDictionary(dictionary)

print(dictionary["first_name"])
}

// print(snapshot)

}, withCancel: nil)

}

这是用户类文件

import UIKit

class User: NSObject {
var name: String?
var email: String?
var id: String?
var first_name: String?
}

最佳答案

首先不要使用 AnyObject,而是使用 Any

建议:如果你正在使用swift4 使用Codable 不要使用AnyObject

确保您所有的 User 属性都与 dictionary 键匹配

根据 Apple 文档

keyedValues

A dictionary whose keys identify properties in the receiver. The values of the properties in the receiver are set to the corresponding values in the dictionary.

关于ios - 将快照字典从 firebase 数据库保存到类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48235119/

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