假设我有一个名为Playlist
的NSManagedObject子类。这个Playlist
对象与另一个名为Song
的NSManagedObject子类具有多对多关系。假设我的Playlist
对象在关系中有一首与歌曲“歌曲A”相关联的歌曲。核心数据为多对多关系添加相同的对象
考虑到这个例子,我试图再次向关系中添加“歌曲A”,la将两首歌曲添加到播放列表中。
下面是用于添加对象到关系码:
- (void)addSongsObject:(Song *)theSong {
NSMutableOrderedSet *song = [self mutableOrderedSetValueForKey:@"songs"];
[mutableSongs addObject:theSong];
}
哪里self
是播放列表对象。由于关系中已有特定歌曲的实例,因此不会添加另一个实例。
什么是最好的方式去做这个与核心数据?
也许做一个名为“SongOccurrence”的中间包装对象。这些在列表中也是独一无二的,但其中两个可能引用相同(独特的)歌曲。 –
@NicolasMiari你应该做出答案而不是评论。这真的是唯一体面的解决方案。 –
我刚刚做到了;抱歉。我在我的iPhone上随便浏览,因此不想输入完整的答案。 –