如何从A-Z swift 2.3中对tableView进行排序

时间:2016-11-20 00:04:07

标签: ios iphone swift uitableview sorting

我在names中有一个简单的tableView数组,当我按下专用的tableView时,我想从AZ中对button进行排序。

TableViewController.Swift

import UIKit

class BarsViewController: UITableViewController,UISearchResultsUpdating,UISearchBarDelegate,UISearchDisplayDelegate{

@IBOutlet var tableViewController: UITableView!

// MARK : Data

var names = ["Shalvata",
             "Markid",
             "Litzman Bar",
             "The Cat & The Dog",
             "Light house"]

它看起来像这样:

Image

我想实现一个button,一旦按下names Array中的tableView,就会从A-Z&当我再次按下它将返回默认顺序。

谢谢

1 个答案:

答案 0 :(得分:1)

首先需要创建一个类变量来指示是否已排序。然后创建排序数组

// this is class variable
var isSorted = false
let names = ["Shalvata",
         "Markid",
         "Litzman Bar",
         "The Cat & The Dog",
         "Light house"]

var sortedNames = [String]()

override func viewDidLoad() {
    super.viewDidLoad()

    sortedNames = names.sort()

    // your other lines of codes

}

然后在函数中单击按钮更新此sorted变量以返回tableView cellForRow方法中的排序

if isSorted {
    // use the sortedNames here
}
else {
    // use normal names array
} 

您的按钮动作功能将如下所示。

func onClickButton() {
     isSorted = !isSorted // change value of isSorted either to false or true depends on last updated value
     tableView.reloadData()
}