Есть несколько способов сделать это, я предполагаю, что массивы содержат подобную информацию (догадываясь о джинсах и юбках на их одежде).
У меня было бы одно значение для определения, какой тип продукта должен отображаться, тогда у вас есть несколько доступных вариантов ....
enum TableMode {
case jeans, skirts, trousers, hats
}
Массив с несколькими продуктами (не рекомендуется)
class TableViewController: UITableViewController {
var tableMode: TableMode
func tableView(UITableView, numberOfRowsInSection: Int) -> Int {
switch tableMode {
case .jeans:
return jeansArray.count
/// and so on...
}
}
}
Другой вариант - использовать один массив, просто заполните его правильными данными: (лучший метод)
// the int value could be the category ID from your API
enum TableMode: Int {
case jeans = 13
case skirts = 2
trousers = 4
hats = 19
}
class TableViewController: UITableViewController {
var tableMode: TableMode
var products: [Products]()
override viewDidLoad() {
super.viewDidLoad()
// fetch all data from api/database where categoryId = .tableMode value
self.products = coreDataFetchResult
self.tableView.reloadData()
}
Последняя идея, выбрать все продукты и просто отфильтровать их при необходимости, чтобы показать текущий выбор типа продукта
class TableViewController: UITableViewController {
var tableMode: TableMode
var products: [Products]()
override viewDidLoad() {
super.viewDidLoad()
// fetch all data from core data
self.products = coreDataFetchResult.filter { $0.categoryId = self.tableMode }
self.tableView.reloadData()
}
Лучший вариант зависит от того, откуда вы заполняете массивы. Я бы не советовал иметь несколько массивов, если вы собираетесь использовать только один.