我需要在購物車中記錄專案,但我不知道如何做到這一點。在 Swift 中,不允許使用 append() 函式,因此我嘗試在陣列中創建一個字典,但使用此方法無法正常作業,在 Firebase Debugview 中出現錯誤。這是我的代碼:(Swift,iOS)
func logViewCart(items: [CartItem]){
var itemList : [[String : Any]] = []
for item in items{
var itemParams : [String : Any] = [
"item_id": item.id,
"item_name": item.product?.name,
"item_category": item.product.category,
"price": item.price
]
itemList.append(itemParams)
}
var itemTest : [String : Any] = [:]
for i in itemList {
itemTest[AnalyticsParameterItems] = [i]
}
Analytics.logEvent("view_cart", parameters: [
"items": [itemTest]
])
}
提前致謝
uj5u.com熱心網友回復:
有幾種方法可以解決您遇到的錯誤,您可以從輸入日志訊息或行為開始。
我將首先了解登錄事件的基礎知識,確保您-FIRAnalyticsDebugEnabled像這樣在您的計劃中設定了此屬性

在除錯查看器上應該會在 3~6 秒后彈出,然后確保引數正確。
uj5u.com熱心網友回復:
我找到了解決方案。不是在陣列中宣告字典,而是宣告另一個具有 [Any] 型別的陣列變數可以解決問題。
var itemList : [Any] = []
for item in items{
let variantIndex = item.product?.attributes?[1].listValueLabel?.count ?? 1
var itemParams : [String : Any] = [
"item_id": item.itemID,
"item_name": item.product?.name
]
itemList.append(itemParams)
}
Analytics.logEvent("view_cart", parameters: [
AnalyticsParameterItems: itemList
])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/326252.html
上一篇:Flutter:如果流是Bloc狀態的一部分,如何將StreamBuilder與BlocBuilder一起使用?
