0

「singerName」、「albumName」、「songName」という 3 つの属性を持つコア データ モデルがあります。また、歌手の文字列とアルバムの文字列を表示するテーブル ビューがあります。

たとえば、Michael Jackson を使用してコア データを取得します。100件の結果が得られました。しかし、10 曲ずつのアルバムは 10 枚しかないかもしれません。

私の質問は、実際のアルバム名を知らずに同じアルバムを破棄し、マイケル ジャクソンの 10 枚の異なるアルバムのみを取得する NSPredicate の書き方です。

request.predicate = [NSPredicate predicateWithFormat:@"singerName != %@ && ???", @""]; 変わりたい ???重複したアルバム名を破棄する形式に変換します。

4

2 に答える 2

0

NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Countries" inManagedObjectContext:appDelegate.managedObjectContext];
[fetchRequest setEntity:entity];


NSPredicate *objPredicate = [NSPredicate predicateWithFormat:@"cname == %@",objCountries];

[fetchRequest setPredicate:objPredicate];
于 2012-12-05T11:02:14.313 に答える
0

次のことを試してください。

NSArray *uniqueAlbums = [results valueForKeyPath:@"@distinctUnionOfObjects.albumName"];

ここで、results は現在の fetchedObjects 配列です。

于 2012-12-05T09:44:49.310 に答える