gpt4 book ai didi

swift - 我们如何用 swift 语言对 uitableview 数据进行排序(升序和降序)

转载 作者:搜寻专家 更新时间:2023-10-30 22:23:35 27 4
gpt4 key购买 nike

我有一个关于 uitableview 的问题。我在 uitableview 中有一个水果列表,在右侧导航栏中有一个过滤器按钮。当我们点击过滤器按钮时,我们如何对水果列表进行排序。我应该在 filterList 函数中做什么。下面是代码,请看。

/* Fruit.swift */

import Foundation

class Fruit {
var fruitName = ""

init(fruitName: String) { self.fruitName = fruitName }

}


class FruitsListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet var fruitList: UITableView!

@IBOutlet var filterItem: UIBarButtonItem!

var fruitArr:[Fruit] = Fruit

override func viewDidLoad() {
super.viewDidLoad()

var barButton = UIBarButtonItem(title: "Filter", style: .Plain, target: self, action:"filterList")
self.navigationItem.rightBarButtonItem = barButton

var fruits1 = Fruit(fruitName: "Apple" as String)
var fruits2 = Fruit(fruitName: "Mango" as String)
var fruits3 = Fruit(fruitName: "Banana" as String)
var fruits4 = Fruit(fruitName: "Orange" as String)

fruitArr.append(fruits1)
fruitArr.append(fruits2)
fruitArr.append(fruits3)
fruitArr.append(fruits4)
}

func filterList() {/* ? */}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated.
}

func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return fruitArr.count
}

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
let cell:ShowFruitCustomCellTableViewCell = tableView.dequeueReusableCellWithIdentifier('FruitCell') as ShowFruitCustomCellTableViewCell
let fruit = fruitArr[indexPath.row] cell.setCell(fruit.fruitName) return cell
}
}
}

最佳答案

好吧,就像听起来一样 - 您可以过滤列表:

func filterList() { // should probably be called sort and not filter
fruitArr.sorted() { $0.fruitName > $1.fruitName } // sort the fruit by name
fruitList.reloadData(); // notify the table view the data has changed
}

如果您只想反转项目而不是实际对它们进行排序(切换顺序),您可以执行 fruitArr.reverse() 而不是排序。

关于swift - 我们如何用 swift 语言对 uitableview 数据进行排序(升序和降序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com