我有2个实体:chat
< - >> chatMessages
(每个聊天都有0条以上的消息,每封消息属于一个聊天)。
我正在制作FetchedResultsController
,我想根据最后一条消息的日期对聊天进行排序:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"ChatModel" inManagedObjectContext:[NSManagedObjectContext MR_defaultContext]];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"chatMessages.messageDate" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
但是这个代码我得到了:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not allowed here'
如何按要求对聊天进行排序? (就像whatsapp一样)
答案 0 :(得分:0)
您可以使用集体运营商。
你必须期待的现成答案就像创建一个像这样的排序描述符 -
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"chatMessages.@max.messageDate" ascending:NO];