我正在开发一个基于核心数据的应用程序(我习惯使用 sqlite,但这次我想学习新的东西),并且我陷入了这个关系问题:
我有歌曲和播放列表,我想将它们与订单号关联起来,因此播放列表可以如下所示:
- "Playlist A"
1. Song A
2. Song C
3. Song B
- "Playlist B"
1. Song C
2. Song A
3. Song B
4. Song F
5. Song E
这是一个明显的多2多情况,订单号存储在相关表中(我知道这不是标准的);在sql中我会这样做
Table "Songs" (id, name, ecc..)
Table "Playlists" (id,name, ecc..)
Table "PlaylistSongs" (playlist_id,song_id,position)
In Core Data i did:
Entity "Song"
Entity "Playlist"
Entity "SongInPlaylist"
with this relation:
Song <---->> SongInPlaylist
Playlist <----->> SongInPlaylist
但现在我不知道如何:
a) 将歌曲放入播放列表中的特定索引处 b) 以正确的顺序获取播放列表中的歌曲 c) 修改播放列表顺序。
有人可以帮助我吗?
最佳答案
SongInPlaylist 似乎需要一个 position
属性。然后,您可以为 PlayList 提供一些方法来在索引处插入、从一个索引移动到另一个索引,或在索引处删除,这将修复其他 SongInPlaylist 实体的位置值。
关于objective-c - 核心数据: attributes in many-to-many relationships,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10655472/