【问题标题】:Core Data: NSFetchedResultsController sorting by date vs. ordered to-many relationship核心数据:NSFetchedResultsController 按日期排序与有序对多关系
【发布时间】:2013-10-17 17:38:21
【问题描述】:

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

  • NSSortDescriptor message.timeStamp
  • 使messages 关系有序
  • sequence 属性添加到message

对消息进行排序的最佳方式应该是什么?

【问题讨论】:

    标签: ios sorting core-data


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢。那么我相信对timeStamp 进行排序是合适的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多