objective-c - 核心数据: attributes in many-to-many relationships

标签 objective-c ios core-data many-to-many entity-relationship

我正在开发一个基于核心数据的应用程序(我习惯使用 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/

相关文章:

ios - 核心数据 : NSFetchedResultsController sorting by date vs. 有序对多关系

ios - fatal error : unexpectedly found nil while unwrapping an Optional value while filtering

iphone - 在核心数据中列出共同的 friend

objective-c - 我如何构建这个 SUBQUERY NSPredicate?

ios - drawInRect:withAttributes 与 drawInRect:withFont:lineBreakMode:alignment

ios - 检查 Swift 2 中的空字符串

ios - UITabBarItem 不更新图像

ios - UITableView 显示不正确 - 为什么?

objective-c - RestKit:连接不在响应中的关系

objective-c - 替换已弃用的 sizeWithFont : in iOS 7?