我正在编写一个 iPhone 应用程序。在我的应用程序中,我的数据库中有一个实体(我们称之为 MusicCategory),它与我的数据库中的另一个实体(我们称之为歌曲)具有一对多关系。
我正在尝试编写一个查询来获取歌曲数量最多的 5 个 MusicCategories。
有人可以给我一些关于如何为这个查询编写谓词的指示吗????
非常感谢您的帮助维杰
排序的方法是正确的。您可以将获取请求限制为您需要的前 5 个请求:
fetchRequest.sortDescriptors = [NSArray arrayWithObject:
[NSSortDescriptor sortDescriptorWithKey:@"songs.count"
descending:YES]];
fetchRequest.fetchLimit = 5;
您只需要设置一个按歌曲数量排序的排序描述符,而不是使用一些谓词。但这不是有效的,因为它会引发错误。所以你可以添加一个计数属性来提高效率。
request.sortDescriptors =[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"songs.count" ascending:YES]];