Swift 使用阵列和Firebase
希望将数组作为以整数作为键名的对象列表提交给firebase。我知道firebase不直接支持阵列,所以我想知道如何做到这一点。我正在创建用户添加用户购物车的项目列表。因此,我是这样处理的:Swift 使用阵列和Firebase,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,希望将数组作为以整数作为键名的对象列表提交给firebase。我知道firebase不直接支持阵列,所以我想知道如何做到这一点。我正在创建用户添加用户购物车的项目列表。因此,我是这样处理的: func addItemtoCart(item: String, completed: @escaping (_ completed: Bool) -> ()) { Firebase_REference_Cart.child(userID).child("itemIDs").updateChil
func addItemtoCart(item: String, completed: @escaping (_ completed: Bool) -> ()) { Firebase_REference_Cart.child(userID).child("itemIDs").updateChildValues(["itemiD": itemID])
completed(true)
}
我理解这将不起作用,因为每次将和项目添加到购物车时,它都会替换“ItemId”下的项目。我想买点像这样的东西
CartITems: {
0: "945495949856956",
1: "9459469486895695"
2: "J888568567857685"
}
如果有人能以最具描述性的方式描述如何从A到Z进行此操作,这将非常有帮助。我是firebase的新手,需要一些指导 首先创建如下模型:
struct Model {
var id: String
init(id: String) {
self.id = id
}}
然后在类中创建此模型的实例:var model=model(id:“First id”)
然后,要将其推送到Firebase,请使用:
func addInstance(model: Model) -> Completable {
return Completable.create( subscribe: { completable in
let reference = Database.database()
.reference()
.child("Models")
.childByAutoId
var model = model
model.id = reference.key
reference.setValue(model.dictionary)
self.modelVariable.value.append(model)
completable(.completed)
}
else {
completable(.error(NSError(domain: "Sample", code: 403, userInfo: [NSLocalizedDescriptionKey: "Server Error"])))
}
return Disposables.create()
})
Firebase文档明确建议不要将数组用于此类数据结构。请参阅,其中还包括如何向列表中添加项的示例代码。