我的tableview是从字典加载的,我试图反转显示tableview的顺序,字典设置如下
loadComments["set\(num)"] = ["\(usernameC)","\(timestamp)","\(commenttxt.text)"]
当然会有很多套
并且tableview将像这样加载
在cellforRow函数中
if let setInfo = loadComments["set\(indexPath.row)"] {// set data in cell }
这个工作正常,但我希望结果反转,所以输入的最后一个注释位于tableview的顶部而不是加载到底部?
欢迎任何想法
答案 0 :(得分:1)
为了实现这一目标,您需要对数据源进行排序(在本例中为您的字典)。默认情况下,字典不是有序数据结构,因此您需要从中创建有序数据结构(例如数组)。例如,如果你想按字典键排序,那么你可以在Swift中做这样的事情:
let dataSource = ["aaaaaa" : "Some data here", "bbbbbb" : "Some data here", "cccccc" : "Some data here"]
let sortedData = dataSource.sort{ $0.0 < $1.0 }
这将为您提供一系列元组,这些元组可能对您没有用处。如果您想按键排序然后只存储与之关联的数据,您可以添加地图函数,如下所示:
let dataSource = ["aaaaaa" : "Some data here", "bbbbbb" : "Some data here", "cccccc" : "Some data here"]
let sortedData = dataSource.sort{ $0.0 < $1.0 }.map { $0.1 }
排序后,请记住刷新表格视图。您可以通过刷新单元格,部分或整个事物来完成此操作。最简单的方法是这样的:
tableView.reloadData()
希望这可以帮助你:)