0
我是Core Data的新手。提取反向關係,而不是核心數據中的NSSet
在數據模型中我有實體:
Song
Playlist
這是關係:
- 每
Song
不屬於任何一個或多個Playlist
的
的我已經加入到這樣的模型之間的關係。
我也做了相反對多關係。
現在我的問題。
Playlist
現在有NSSet
與所有的Song
s。
所以我可以通過playlist.songs
訪問它們。
我可以使用NSPredicate
取任何特定Song
:
- (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
秒的特定播放列表的太,而不是過濾NSSet
與NSPredicate
,因爲它速度更快。
我該怎麼做?
不幸的是,因爲歌曲沒有'播放列表'屬性。該歌曲可以添加到多個播放列表中... – NSAddict
@NSAddict:好的抱歉,沒有正確閱讀。所以這是Song和Playlist之間的多對多關係? –
是的。所以播放列表有一個屬性'歌曲',但歌曲不知道它是什麼播放列表。 – NSAddict