我在names
中有一个简单的tableView
数组,当我按下专用的tableView
时,我想从AZ中对button
进行排序。
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"]
它看起来像这样:
我想实现一个button
,一旦按下names Array
中的tableView
,就会从A-Z&当我再次按下它将返回默认顺序。
谢谢
答案 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()
}