Core Data は初めてです。
データモデルにはエンティティがあります:
SongPlaylist
これは関係です:
- すべてが no、1 つまたは複数の
Songに属しますPlaylist
このようにモデルに関係を追加しました。
逆のTo-Many Relationshipも作成しました。
今私の質問。
はすべて s の になりPlaylistました。
だから私は経由でそれらにアクセスできます。NSSetSongplaylist.songs
Songを使用して特定のものを取得できますNSPredicate。
- (NSArray *)fetchWithEntity:(NSString *)entity
predicate:(NSPredicate *)predicate
sortDescriptors:(NSArray *)sortDescriptors
error:(NSError **)error {
NSManagedObjectContext *moc = [self managedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:entity
inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
[request setPredicate:predicate];
[request setSortDescriptors:sortDescriptors];
NSArray *fetchResult = [moc executeFetchRequest:request error:error];
return fetchResult;
}
ただし、 で をフィルタリングするSongのではなく、特定のプレイリストの もフィルタリングできるようにしたいと考えています。単純に高速であるためです。NSSetNSPredicate
これどうやってするの?