按创建排序表格视图单元格(swift)

Posted

技术标签:

【中文标题】按创建排序表格视图单元格(swift)【英文标题】:Sorting tableview cells by creation (swift) 【发布时间】:2015-01-28 00:03:23 【问题描述】:

我想按创建项目的日期/时间对正在加载核心数据项的tableview 单元格进行排序。我尝试创建一个timeStamp,将其存储为一个属性,然后将其插入我的排序描述符中,以按那个时间戳进行排序,即NSDate。像这样:

//save timeStamp to core data
newLog.timeStamp = NSDate()

//retrieve that timeStamp in my tableviewcontroller
var timeStamp = data.valueForKey("timeStamp") as NSDate

//sort by the timeStamp in order to list the most recent items on top of tableview

let sortDescriptor = NSSortDescriptor(key: "timeStamp", ascending: false)
let sortDescriptors = [sortDescriptor]
fetchRequest.sortDescriptors = [sortDescriptor]

据我所知,tableview 项目没有以任何合理的方式进行排序。就好像排序描述符没有被识别。同样,重点是让最近的项目按顺序显示在列表顶部。

【问题讨论】:

您能描述一下现在发生的问题吗?您当前的尝试有什么问题? 是的,tableview 似乎甚至无法识别排序描述符,因为其中的项目几乎是完全随机的。 【参考方案1】:

您可以使用数组的排序方法;

yourArray.sort($0.date.timeIntervalSinceNow < $1.date.timeIntervalSinceNow)

然后tableView.reloadData() 如果你需要重新加载tableView。如果这是在viewDidLoad() 中完成的,则不需要

【讨论】:

以上是关于按创建排序表格视图单元格(swift)的主要内容,如果未能解决你的问题,请参考以下文章

在表格视图中重新排序按日期排序的单元格项目

长按选择的 Swift 3.0 表格视图单元格

swift 3 ios tableview按单元格滚动

按表格视图单元格

使用 swift 创建自定义的表格视图单元格

解析对象数组并填充表格视图单元格 Swift