基于许多相关实体之一进行排序

时间:2011-09-29 11:52:59

标签: core-data nsfetchedresultscontroller nssortdescriptor

实体B(Book)与实体D(描述)具有一对多的关系。这个想法是一本书对不同的语言有不同的描述。

我想根据给定语言的标题(D.title)对书籍进行排序(D.languageID)

如果B与D有一对一的关系,我会做类似的事情:

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"d.title" ascending:YES];

当然,您可能会说,该模型不会阻止图书具有相同语言ID的许多描述。但在这种情况下,任何(例如第一个)描述都适合我。

我的模特错了吗?现在最好的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

这在逻辑上是不可能的。如果你有许多属于A的对象B,哪个B是应该采用的排序例程?

例如,您拥有实体A“Parent”和实体B“Child”以及B“dateOfBirth”的属性。您不能根据最低出生日期对所有父对象进行排序,因为如果两个不同的父母各自有两个孩子,则每个父母都可能有一个比另一个孩子更老的孩子。

清除?