#swift #firebase
#swift #firebase
Вопрос:
У меня есть 2 класса. Класс User, который содержит массив объектов класса Item. Я хочу сохранить объект пользователя в Firebase. Что мне нужно для этого сделать?
class User: NSObject {
var name: String
var items: [Item]
init(dictionary: [String: Any]) {
self.name = dictionary["name"] as? String ?? ""
}
}
class Item{
var name: String
init(name: String) {
self.name = name
}
}
var user = User(dictionary: [:])
user.name = "Tom"
var item = Item(name: "item1")
user.items.append(item)
let uid = Auth.auth().currentUser?.uid
Database.database().reference().child("users").child(uid).setValue(user)
Ответ №1:
Сохраните их как объект firebase.
class User: NSObject {
var name: String
var items: [Item]
init(dictionary: [String: Any]) {
self.name = dictionary["name"] as? String ?? ""
}
var json: [String: Any] {
return ["name": name, "items": items.map { $0.json }]
}
}
class Item{
var name: String
init(name: String) {
self.name = name
}
var json: [String: Any] {
return ["name": name]
}
}
Database.database().reference().child("users").child(uid).setValue(user.json)