核心数据:NSFetchedResultsController按日期排序与有序到多对的关系

时间:2013-10-17 17:38:22

标签: ios sorting core-data

我正在编写一个演示消息应用程序来学习核心数据。在我的模型中,实体Conversation具有多对多关系messagesMessageMessage有一个timeStamp。我打算在带有NSFetchedResultsController的集合视图/表视图中显示这些消息。我想知道对这些消息进行排序的最有效方法是什么。我四处搜索,发现我可以使用以下方式对消息进行排序:

  • NSSortDescriptor上的message.timeStamp
  • 订购messages关系
  • sequence属性添加到message

对消息进行排序的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

排序顺序应反映您的应用程序逻辑:
在会话中移动消息是否合乎逻辑? (如果是,按序列号排序)
您希望按时间顺序显示数据吗? (如果是,按timeStamp)排序

在任何情况下,我都不会将有序关系用作排序顺序,因为您可能希望FRC在表格视图中显示您的数据,他将为您管理内存和更改。
除此之外,您还希望在任何情况下批量获取此关系,而不是简单地让您的表视图数据源成为有序的集合关系(这将导致项目逐个获取)。