Я пытаюсь быстро создать глобальный словарь, к которому я могу получить доступ в любом месте проекта.
Я пробовал это
struct Global {
static var productList = [Product]()
}
struct Product: Hashable {
let name: String
let aisleNo:Int
let location_section: Int
let location_zone: String
let productPrice: Int
}
это каждое свойство продукта, которое я хотел бы добавить в словарь, причем каждый ключ продукта является свойством _id
_id = 5f2158f71439a1549ab32cc9;
_partitionKey = store=storename;
productBrand = Ocean's Halo;
productDept = Food;
productDescription = Ocean's Halo Water Watermelon Lime;
productImg = http://i5.walmartimages.com/asr/75a59918-8f1b-4b79-8b35-15a919981e5c_2.5efe5f0ccff7abaa7831c3795003fd93.png?odnHeight=180&odnWidth=180&odnBg=ffffff;
productImg1 = /ip/Ocean-s-Halo-Deep-Sea-Water-Watermelon-Lime-16oz/866033215;
productLocation_aisle = 14;
productLocation_section = 1;
productLocation_zone = A;
productName = Ocean's Halo Deep Sea Water, Watermelon Lime, 16oz;
productPrice = 2.97;
productRating = 4.2;
productUPC = List<string> <0x282252080> (
[0] 00811670030224
);
product_stock_status = Limited Stock;
storeProductId = 1TFNSLXLW0QP;
store_available = store;
}
Я пытаюсь добавить в Global productList с помощью этой функции
class SearchResult : ObservableObject {
func listItem() {
for product in productArray {
let productName = product.productName!
let aisleNo = product.productLocation_aisle.value!
let location_section = product.productLocation_section.value!
let location_zone = product.productLocation_zone!
let productPrice = product.productPrice.value!
let product_real_id = product._id!
Global.productList.append(Product(name: productName, aisleNo: aisleNo, location_section: location_section, location_zone: location_zone, productPrice: Int(productPrice)))
}
}
проблема в том, что я хочу, чтобы ключ словаря был objectId чтобы продукты не дублировались и могли получить доступ к словарю в представлении swiftui
struct SearchResultView: View {
var searchResults = [Global.productList]
var body: some View {
VStack {
Text("Let's see where ")
// for prodItem in searchResults {
// Text(prodItem).bold()
// }
}
}
}
Как мне добавить продукт в глобальный словарь с objectId в качестве ключа, а затем получить каждый продукт в представлении swiftUI?