我是核心数据的新手。
在数据模型中,我有实体:
SongPlaylist
这是关系:
- 每一个都属于
Songno、one或multiplePlaylist
我已经像这样将关系添加到模型中。
我还建立了反向多对多关系。
现在我的问题。
的Playlist现在有一个NSSet与所有的Songs。
所以我可以通过playlist.songs.
我可以Song使用 a获取任何特定的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特定播放列表的 s ,而不必用 过滤NSSet,NSPredicate因为它更快。
我怎样才能做到这一点?