Как я могу отсортировать данные 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()

И все будет отсортировано, как вы хотите.

Другие вопросы по тегам