1

我正在编写一个 iPhone 应用程序。在我的应用程序中,我的数据库中有一个实体(我们称之为 MusicCategory),它与我的数据库中的另一个实体(我们称之为歌曲)具有一对多关系。

我正在尝试编写一个查询来获取歌曲数量最多的 5 个 MusicCategories。

有人可以给我一些关于如何为这个查询编写谓词的指示吗????

非常感谢您的帮助维杰

4

2 回答 2

1

排序的方法是正确的。您可以将获取请求限制为您需要的前 5 个请求:

fetchRequest.sortDescriptors = [NSArray arrayWithObject:
   [NSSortDescriptor sortDescriptorWithKey:@"songs.count" 
                                descending:YES]];
fetchRequest.fetchLimit = 5;
于 2012-06-13T11:25:18.760 回答
0

您只需要设置一个按歌曲数量排序的排序描述符,而不是使用一些谓词。但这不是有效的,因为它会引发错误。所以你可以添加一个计数属性来提高效率。

request.sortDescriptors =[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"songs.count" ascending:YES]];
于 2012-06-13T10:39:08.317 回答