Как я могу отсортировать данные tableView с помощью контроллера сегментов?
[Вверху заметил контроллер сегмента, и я хочу обработать tableView, все данные будут отсортированы в сегменте call`enter
я хочу обработать данные моего продукта, который является моделью с помощью сегмента контроллера
// продукты из базы данных
DataService.ds.REF_Products.observe(.value, with: { (snapshot) in
if let snapshot = snapshot.children.allObjects as? [DataSnapshot] {
for snap in snapshot {
print("SNAP: \(snap)")
if let productDict = snap.value as? Dictionary<String, AnyObject> {
// let productName = productDict["productName"]
let key = snap.key
let product = AddProductModel(productKey: key, productData: productDict)
self.products.insert(product, at: 0)
// self.produtsArray.append(productName as! String)
// print(self.produtsArray)
}
}
self.productTable.reloadData()
}
})
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let product = products[indexPath.row]
if let cell = productTable.dequeueReusableCell(withIdentifier: "PlistCell") as? ProductListTableCell {
if let img = EmployeeHomeVC.imageCache.object(forKey: product.productimageUrl as NSString) {
cell.configureCell(product: product, img: img)
} else {
cell.configureCell(product: product, img: nil)
}
let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.brown
cell.selectedBackgroundView = bgColorView
return cell
} else {
return ProductListTableCell()
}
}
здесь`] 1
1 ответ
Каждый раз, когда вы щелкаете по сегментированной опции, внутри действия сегментированной кнопки вы можете вызывать метод сортировки или использовать сортировку по умолчанию, которую предлагает Swift:
products.sort(by: {$0.criteriaOfSort > $0.criteriaOfSort })
после сортировки звоните productTable.reloadData()
И все будет отсортировано, как вы хотите.