在此用例中如何对tableview单元格进行排序

时间:2018-08-01 13:52:47

标签: swift sorting tableview

在Swift 4中对该表格进行排序的最佳做法是什么?
A-Z

    override func viewDidLoad() {

        super.viewDidLoad()

        list = [ ghost(name:"alphabet".localized, id:"1"),
             ghost(name:"élephant".localized, id:"2"),
             ghost(name:"delegate".localized, id:"3")]
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1 
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if filtering() { 
            return filter.count 
        }
        return list.count 
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "library", for: indexPath)
        var data: ghost

        if filtering() { 
            data = filter[indexPath.row] 
        }
        else { 
            data = list[indexPath.row] 
        }

        cell.textLabel!.text = data.name
        return cell 
    }

我经常使用翻译后的字符串。因此,如果可以用不同的语言按字母顺序加载表,那就太好了。有人可以帮我吗?我搜索了整个互联网,但对此实在太累了……非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以按以下方式使用它:

func sortAlpha() {

    if filtering() {
        filter.sort { (item1, item2) -> Bool in
            return item1.name > item2.name
        }
    }
    else {
        list.sort { (item1, item2) -> Bool in
            return item1.name > item2.name
        }
    }
    self.tableView.reloadData()
}

然后只需致电sortAlpha()