私はiPhoneアプリを書いています。私のアプリでは、データベースにエンティティ(MusicCategoryと呼びます)があり、データベース内の別のエンティティ(Songsと呼びます)との関係が多すぎます。
曲の数が最も多い5つのMusicCategoriesを取得するためのクエリを作成しようとしています。
このクエリの述語をどのように書くことができるかについて、誰かが私にいくつかのポインタを教えてもらえますか????
助けてくれてありがとうVijay
ソートによるアプローチは正しいものです。フェッチリクエストを必要な上位5つに制限できます。
fetchRequest.sortDescriptors = [NSArray arrayWithObject:
[NSSortDescriptor sortDescriptorWithKey:@"songs.count"
descending:YES]];
fetchRequest.fetchLimit = 5;
いくつかの述語を使用する代わりに、曲数でソートするソート記述子を設定するだけです。しかし、それは障害を発生させるため、効率的ではありません。したがって、count属性を追加して、より効率的にすることができます。
request.sortDescriptors =[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"songs.count" ascending:YES]];