我正在创建一个聊天应用程序UI,比如whats,在这里我需要对聊天消息进行排序,并根据NSDate (DD/MM/YY)对聊天消息进行分段。
每个不同的(DD/MM/YY)节名将在包含此日期的时间戳上重新排序。
如何在NSFetchResultsController中实现这一点。我成功地实现了这一点,使用不同的查询获取所有与DD/MM/YYYY匹配的聊天对象,并查找节名。
然后再次对DB进行查询,以查找所有与聊天对象匹配的聊天,日期部分的时间戳,但每个部分的时间是不同的。
但是这消耗了对核心数据的大量UI /后端操作。是否有任何最佳的方法来实现这一点。
示例:
DB中的聊天对象:聊天ID \ 数据示例 CHAT-001这是测试1消息22/10/2015:12:00:20 abc.dev.abc.com abc.dev.abc.com def.dev.abc.com CHAT-002 \x{##**$$}*这是测试4消息: 22/10/2015:14:10:20 def.dev.abc.com abc.dev.abc.com CHAT-005这是测试5消息x 23/10/2015:13:00:20 abc.dev.abc.com abc.dev.abc.com def.dev.abc.com CHAT-006这是test 6 message 23/10/2015:13:05:20 abc.dev.abc.com def.dev.abc.com CHAT-007这是test 7消息\x 24/10/2015:13:10:20 def.dev.abc.com / abc.dev.abc.com CHAT-008 abc.dev.abc.com CHAT-008 CHAT-008-这是测试8消息: 24/10/2015:13:10:20 \x{e76f} def.dev.abc.com abc.dev.abc.com 输出期望 节名:22/10/2015 CHAT-001这是测试1条消息: 22/10/2015:12:00:20 abc.dev.abc.com abc.dev.abc.com def.dev.abc.com CHAT-002回事这是测试2消息22/10/2015:13:00:20 def.dev.abc.com def.dev.abc.com CHAT-003这是测试3消息:22/10/2015:13:10 def.dev.abc.comabc.dev.abc.com CHAT-004 \x{e76f}这是测试4消息: 22/10/2015:14:10:20 \x{e76f} def.dev.abc.com = abc.dev.abc.com 节名:23/10/2015 CHAT-005 CHAT-005这是测试5消息\x{e76f} 23/10/2015:13:00:20 \x{##**$$} abc.dev.abc.com \x{e76f} def.dev.abc.com聊天-006\x{##**$$}##* 章节名称:24/10/2015 CHAT-007 CHAT-007CHAT-007 CHAT-007CHAT-007CHAT-007 CHAT-007CHAT-007 CHAT这是test 7 message 24/10/2015:13:10/10/2015:13:10/10/2015:13:10:20 def.dev.abc.com def.dev.abc.com abc.dev.abc.com CHAT-008 def.dev.abc.com CHAT-008 abc.dev.abc.com CHAT-008这是test 8消息区24/10/2015:13:10:20 def.dev.abc.com小姐abc.dev.abc.com
任何快速帮助,以便我可以使用NSFetchResultsController,并实现加载更多的选项,使用performFetchLimit和批处理大小是非常感谢的。
发布于 2015-11-20 06:05:31
我修复了这个问题,并像魅力一样使用瞬态属性,为Coredata的短暂使用做了一些学习.谢谢你这么多建议。
https://stackoverflow.com/questions/33779275
复制相似问题