核心数据:按关系属性排序
Posted
技术标签:
【中文标题】核心数据:按关系属性排序【英文标题】:Core Data: Sort by Relationship's Attribute 【发布时间】:2011-04-24 01:44:29 【问题描述】:我正在构建一个open-source clone of iPhone's native Messages app called AcaniChat on GitHub。
我有一个 Conversation
实体和一个带有 sentDate
属性的 Message
实体。每个Conversation
可以有多个Message
s。如何获取Conversation
s 按其最旧的sentDate
排序的Message
?
【问题讨论】:
我在这里发布了类似的解决方案:***.com/a/11550855/306764 【参考方案1】:我能想到的最好方法是向 Conversation
实体添加一个名为 lastMessageSentDate
的属性,并且每次 Message
进入并添加到 Conversation
时,设置该对话的 @ 987654327@ 到该消息的sentDate
。我可能还想在Conversation
实体中添加一个名为lastMessageText
的属性,因为我想在ConversationsViewController
上显示最后一条消息的文本(就像本机iPhone 消息应用程序一样),这样做可以让我不必再为Message
提取核心数据。
其实我只是有个想法!或许我可以按照Xcode Documentation: Key-Value Coding Programming Guide: Collection Operators,按照messages.@max.sortedDate
对Conversation
s进行排序。
【讨论】:
您的第一个想法可能更有效,因为它无需在每次获取 Conversation 时计算每个 Conversation.messages 集合的最大日期! 或者只是在Conversation
中有一个lastMessage
而不是lastMessageSentDate
和lastMessageText
:)
@MattDiPasquale 我尝试了你的想法。它没有用。查看相关问题:***.com/questions/12748852/…以上是关于核心数据:按关系属性排序的主要内容,如果未能解决你的问题,请参考以下文章