我有一个AUDIO类。该音频具有SOUND_A子类和SOUND_B子类。这一切都正确完成,工作正常。核心数据谓词与子类NSManagedObjects
我有另一个模型,我们称之为PLAYLIST_JOIN,这可以包含(在现实世界中)SOUND_A和SOUND_B,所以我们给它一个AUDIO和PLAYLIST的关系。
这一切都适用于应用程序。
我现在遇到的问题是使用NSPredicate查询PLAYLIST_JOIN表。我想要做的就是给它的谓语2个键找到一个确切的PLAYLIST_JOIN项目
sound_a._sound_a_id = %@ && playlist.playlist_id = %@
和
sound_b.sound_b_id = %@ && playlist.playlist_id = %@
主要的问题是,由于该表没有存储sound_a
和sound_b
,但存储audio
,我不能使用这种语法。我没有选择重新组织sound_a和sound_b以使用相同的_id属性名称,所以我该怎么做?
我可以传递一个方法给谓词吗?是这样的:
[audio getID] = %@ && playlist_id = %@
为什么你没有选择使用相同的_id属性?实体AUDIO应具有_id属性,SOUND_A和SOUND_B应同时继承。 – Yuji 2010-05-07 00:13:50
我不想涉及太多细节,但id的引用远程表不一样。我可以将它封装在谓词周围的if语句中,但如果有一种方法可以像我的问题中的最后一个代码blob那样执行,那么它将使我的生活变得更加轻松。 – coneybeare 2010-05-07 00:19:36