如何使用Segment Controller对tableView数据进行排序?

时间:2018-03-28 14:43:27

标签: uitableview firebase swift3 xcode8 ios10

[顶部一个段控制器注意到,我想处理tableView所有数据将在段调用中排序.enter

我想通过segmentController的帮助处理我的产品数据,这是一个模型

//来自数据库的产品

    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()
    }
}

here`] 1

1 个答案:

答案 0 :(得分:0)

每次单击分段选项时,在分段按钮的操作内部都可以调用排序方法,或者您可以使用Swift提供的默认排序:

products.sort(by: {$0.criteriaOfSort > $0.criteriaOfSort })

排序后你打电话 productTable.reloadData()

一切都将根据您的需要进行排序。