Вам необходимо установить "searchResults" равным вашему "productList". Прямо сейчас ваш searchResults ПУСТО. Он просто существует как экземпляр вашей структуры без данных в нем.
один из вариантов - сделать область видимости переменной глобальной, а затем установить для нее новую переменную =
self.searchResults = Global.productList
- РЕДАКТИРОВАТЬ
Вы близко. Где вы устанавливаете здесь свой var
var searchResults = Global.productList
, он должен быть таким.
var searchResults = [Product]() // ->Creates an instance of the struct object
Затем установите его равным вашему глобальному массиву.
self.searchResults = Global.productList
ТАКЖЕ вам следует удалить избыточную переменную var productList = [Product]()
Кроме того, обратите внимание на некоторые моменты
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)))
}
: вы выполняете дополнительную работу, используя все переменные let. Лучше сделать это так.
for product in productArray {
Global.productList.append(Product(name: product.name, aisleNo: product.aisleNo, location_section: product.location_section, location_zone: product.location_zone, productPrice: Int(product.productPrice)))
}
EDIT - Hashable Erorr
попробуйте это
struct Product: Hashable {
let name: String
let aisleNo:Int
let location_section: Int
let location_zone: String
let productPrice: Int
}