UItableView 按部分日期排序(和持久性)

Posted

技术标签:

【中文标题】UItableView 按部分日期排序(和持久性)【英文标题】:UItableView sorted by date in sections (and persistence) 【发布时间】:2010-11-21 20:35:03 【问题描述】:

我有几个 HistoryItems,其中包含 ID、标题和日期。 Date 是它添加到历史的确切时间的 NSDate,一直到秒。

目前我只有这些对象的 NSArray,最新的 HistoryItem 添加到 NSArray 的末尾。

如何使这些项目按日期顺序显示在 UItableView 单元格中,最新的在顶部,而且每天都必须有自己的部分。

我还需要这些 HistoryItems 在退出和加载应用程序之间保持不变,所以我应该将 NSArray 保存到文件还是使用 CoreData?

【问题讨论】:

我也在尝试做同样的事情,你知道吗?提前致谢。 我确实有一个模糊的想法,但我现在不在笔记本电脑旁,所以我回家后会编辑 【参考方案1】:

使用 CoreData 可能会更容易,因为您可以使用 NSFetchedResultsController 来“自动”管理这些部分。实际上,使用 NSDate 作为 sectionKeyPath 可能会有点问题,但幸运的是,Apple 有一些 sample code,您应该可以将其从每月一个部分修改为每天一个部分。

使用 CoreData 还可以让您基本上免费进行排序。

【讨论】:

以上是关于UItableView 按部分日期排序(和持久性)的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中向 UITableView 添加按日期分隔的部分

使用 NSFetchRequest 按日期和单元格按时区字母顺序对部分进行排序

UITableView 以排序顺序划分,未正确划分

使用 NSSortDescriptor、Core Data 和 NSFetchedResultsController 按日期和名称对 UITableView 进行排序

使用数组中的日期按日期对 UITableview 进行排序

如何在uitableview的cellForRowAt函数中按标题日期对响应进行排序