我將我的產品陣列發送到 firebase,但我想在這樣做時延遲,同時我以拆分的方式發送我的陣列。我想要在下面顯示 // 這條線 10 秒的部分,我可以為此使用計時器,但我不知道該怎么做。
func viewItemInList(items: [ProductModel]) {
var parameters: [String:Any] = [:]
var parameter = [parameters]
let chunkedArray = items.chunked(into: 4)
for array in chunkedArray {
parameter.removeAll()
for index in 0..<array.count {
let item = array[index]
parameters = [ AnalyticsParameterItemID: item.sku ?? "",
AnalyticsParameterItemName: item.name ?? "",
//AnalyticsParameterItemCategory: categoryName,
// AnalyticsParameterItemVariant: self.getColorFromWishList(wishListItem: item)
AnalyticsParameterItemBrand: "Skechers",
AnalyticsParameterPrice: item.price?.clearPrice() ?? 0.0
]
parameters[AnalyticsParameterIndex] = index
parameter.append(parameters)
}
parameters[AnalyticsParameterItems] = parameter
**Analytics.logEvent(AnalyticsEventViewItemList, parameters: parameters)** //this line
}
}
uj5u.com熱心網友回復:
您可以在到達最后一個元素時進行檢查,然后執行您的任務。這是您更新的功能-
func viewItemInList(items: [ProductModel]) {
var parameters: [String:Any] = [:]
var parameter = [parameters]
let chunkedArray = items.chunked(into: 4)
for id in 0..<chunkedArray.count {
parameter.removeAll()
let tmpArray = chunkedArray[id]
for index in 0..<tmpArray.count {
let item = tmpArray[index]
parameters = [ AnalyticsParameterItemID: item.sku ?? "",
AnalyticsParameterItemName: item.name ?? "",
//AnalyticsParameterItemCategory: categoryName,
// AnalyticsParameterItemVariant: self.getColorFromWishList(wishListItem: item)
AnalyticsParameterItemBrand: "Skechers",
AnalyticsParameterPrice: item.price?.clearPrice() ?? 0.0
]
parameters[AnalyticsParameterIndex] = index
parameter.append(parameters)
if (id == chunkedArray.words.count - 1) && (index == tmpArray.count - 1) {
parameters[AnalyticsParameterItems] = parameter
**Analytics.logEvent(AnalyticsEventViewItemList, parameters: parameters)** //this line
}
}
}
}
uj5u.com熱心網友回復:
我使用了 sleep 和 DispatchQueue.global
func viewItemInList(items: [ProductModel]) {
var parameters: [String:Any] = [:]
var parameter = [parameters]
let chunkedArray = items.chunked(into: 4)
DispatchQueue.global(qos: .default).async {
for array in chunkedArray {
parameter.removeAll()
for index in 0..<array.count {
let item = array[index]
parameters = [ AnalyticsParameterItemID: item.sku ?? "",
AnalyticsParameterItemName: item.name ?? "",
//AnalyticsParameterItemCategory: categoryName,
// AnalyticsParameterItemVariant: self.getColorFromWishList(wishListItem: item)
AnalyticsParameterItemBrand: "Skechers",
AnalyticsParameterPrice: item.price?.clearPrice() ?? 0.0
]
parameters[AnalyticsParameterIndex] = index
parameter.append(parameters)
}
parameters[AnalyticsParameterItems] = parameter
DispatchQueue.main.async {
Analytics.logEvent(AnalyticsEventViewItemList, parameters: parameters)
}
sleep(10)
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/354486.html
