簡體   English   中英

如何使用 Swift 在 Firebase 中存儲具有相同關鍵字的不同數據的多個實例?

[英]How can I store multiple instances of different data with the same keyword in Firebase using Swift?

我正在創建一個具有購物車系統的 iOS 應用程序。 我有一個用於選擇項目的屏幕,然后一旦單擊該項目,它就會進入一個用於選擇數量的新屏幕。 將商品添加到購物車后,我想將其存儲在 Firebase 中,以便當用戶進入購物車時,可以從 Firebase 加載數據。 我嘗試了以下方法:

@IBAction func addToCartButtonPressed(_ sender: UIButton) {
    let reference = Database.database().reference.child("UserCart").child(Auth.auth().currentUser.uid)
    reference.updateChildValues(["Item Name": itemName, "Item Price": itemPrice, "Item Quantity": itemQuantity])
    self.dismiss(animated: true, completion: nil)
}

當我這樣做時,我沒有實現我想要的,因為如果用戶從訂單視圖 Controller 添加另一個項目,那么我剛剛寫入 Firebase 的現有信息將被覆蓋。 我知道這就是它的設計工作方式,所以我想知道是否有另一種方法可以寫入 Firebase 並在 Firebase 中擁有itemNameitemPriceitemQuantity的多個實例。 我稍后計划讀取這些數據並將其存儲在一個數組中。 如果有幫助,我正在使用 Swift 5。謝謝!

您將需要閱讀有關使用數據列表的文檔。

要編寫新項目,要做的事情是使用childByAutoId()append 寫入數據列表

let reference = Database.database().reference
    .child("UserCart")
    .child(Auth.auth().currentUser.uid)
    .childByAutoId()

SDK 將生成一個唯一 ID,用作寫入子節點的路徑。 由於對childByAutoId()的每次調用都會生成一個唯一的 ID,因此每個新的孩子都將單獨添加並且不會覆蓋任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM