我有一个核心数据模型,它有一个Conversation实体和一个Message实体。对话将与Message对象具有一对多的关系,如下所示:
Conversation:
messages: many Message
Message:
sentDate: NSDate
conversation: one Conversation
希望这是有道理的。
我想要做的是列出所有会话,按照每封会话中最近发送日期的消息排序。
我可以执行单个提取请求吗?
答案 0 :(得分:0)
您可以使用日期中的关系和MAX聚合来完成此操作。
NSFetchRequest *fetchRequest = [NSFetchRequest
fetchRequestWithEntityName:@"Conversation"];
fetchRequest.sortDescriptors = @[[NSSortDescriptor
sortDescriptorWithKey:@"messages.@max.sentDate"
ascending:NO]];