我的核心數據模型:核心數據一對多的關係作爲NSOrderedSet
Playlist
=======
name
songs (to-many relationship to Song objects, NSOrderedSet)
播放列表擁有多首歌曲,而歌曲順序是非常重要的。
使用NSOrderedSet
我可以保留歌曲順序,問題是當我想要在表格視圖中獲取並播放播放列表的歌曲時,我不知道如何使用NSFetchRequest
的優勢。
這是我取的播放列表中的歌曲:
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Song"];
request.predicate = [NSPredicate predicateWithFormat:@"ANY playlists = %@", self.playlist];
request.sortDescriptors = // ???
request.fetchBatchSize = 20;
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
其實這是行不通的,因爲NSFetchedResultsController
需要與某種描述爲獲取請求。
所以我有歌曲順序,但我不能按照順序來獲取它們?
如果一首歌可以在許多播放列表中怎麼辦? – Mario
那麼你的歌曲關係是多對多的,要完全誠實,我從來沒有嘗試過這種設置。 – random
這不起作用,如果核心數據是SQL備份,我得到followign錯誤:keypath indexInPlaylist找不到實體 –