NSFetchedResultsController 对日期 (dd/mm/yyyy) 部分中的聊天项目进行排序,每个部分再次按 dd/mm/yy hh:mm:ss 排序

NSFetchResultController to sort chat items in date (dd/mm/yyyy) sections and each section again sorted by dd/mm/yy hh:mm:ss

我正在创建一个聊天应用程序 UI,就像什么应用程序一样,我需要在其中对聊天消息进行排序并根据 NSDate (DD/MM/YY) 对它们进行分段。

每个不同的 (DD/MM/YY) 部分名称将根据包含此日期的时间戳再次对项目进行排序。

如何在 NSFetchResultsController 中实现这一点。我使用 Distinct Query 成功实现了这一点,以获取与 DD/MM/YYYY 匹配的所有聊天对象日期并找到部分名称。

然后再次查询数据库以查找与日期部分的聊天对象时间戳匹配但每个时间不同的所有聊天。

但这对核心数据的后端操作消耗很大UI/。有什么好的方法可以做到这一点吗?

示例:

Chat Object in DB Chat ID | Message Text | Timestamp | Sender Id | Receiver Id

Data Example CHAT-001 | This is test 1 message | 22/10/2015:12:00:20 | abc.dev.abc.com | def.dev.abc.com CHAT-002 | This is test 2 message | 22/10/2015:13:00:20 | abc.dev.abc.com | def.dev.abc.com CHAT-003 | This is test 3 message | 22/10/2015:13:10:20 | def.dev.abc.com | abc.dev.abc.com CHAT-004 | This is test 4 message | 22/10/2015:14:10:20 | def.dev.abc.com | abc.dev.abc.com CHAT-005 | This is test 5 message | 23/10/2015:13:00:20 | abc.dev.abc.com | def.dev.abc.com CHAT-006 | This is test 6 message | 23/10/2015:13:05:20 | abc.dev.abc.com | def.dev.abc.com CHAT-007 | This is test 7 message | 24/10/2015:13:10:20 | def.dev.abc.com | abc.dev.abc.com CHAT-008 | This is test 8 message | 24/10/2015:13:10:20 | def.dev.abc.com | abc.dev.abc.com

Output Expected

Section name : 22/10/2015 CHAT-001 | This is test 1 message | 22/10/2015:12:00:20 | abc.dev.abc.com | def.dev.abc.com CHAT-002 | This is test 2 message | 22/10/2015:13:00:20 | abc.dev.abc.com | def.dev.abc.com CHAT-003 | This is test 3 message | 22/10/2015:13:10:20 | def.dev.abc.com | abc.dev.abc.com CHAT-004 | This is test 4 message | 22/10/2015:14:10:20 | def.dev.abc.com | abc.dev.abc.com

Section name : 23/10/2015 CHAT-005 | This is test 5 message | 23/10/2015:13:00:20 | abc.dev.abc.com | def.dev.abc.com CHAT-006 | This is test 6 message | 23/10/2015:13:05:20 | abc.dev.abc.com | def.dev.abc.com

Section name : 24/10/2015 CHAT-007 | This is test 7 message | 24/10/2015:13:10:20 | def.dev.abc.com | abc.dev.abc.com CHAT-008 | This is test 8 message | 24/10/2015:13:10:20 | def.dev.abc.com | abc.dev.abc.com

非常感谢任何快速帮助,以便我可以使用 NSFetchResultsController 并使用 performFetchLimit 和批量大小实现加载更多选项。

我修复了这个问题,并使用 transient 属性像魅力一样工作,对 Coredata 瞬态用法做了一些学习...非常感谢您的建议。