NSPredicate过滤与值数组的多对多关系

时间:2015-02-05 17:47:54

标签: core-data nspredicate

我目前在我的核心数据模型中有这些实体:Post,Venue,Scene和Feature。场景具有名为' sceneId'的属性,并且要素具有属性名称' featureId'。

邮政有一个'对一个'与场地的关系,场地有一个“对多”的场所。与场景和特征的关系。

我想要完成的是编写一个NSPredicate来过滤一系列' sceneId'属性和/或过滤器的数组'属性。

我试过了:

var postPredicate = NSPredicate(format: "venue.scenes.sceneId IN %@", sceneIds)

但是我收到了这个错误:

  

由于未捕获的异常而终止应用   ' NSInvalidArgumentException',原因:'未实现的SQL生成   对于谓词:( venue.scenes.sceneId IN {1})'

修改

我尝试使用此谓词查询Venue实体:

        var predicate = NSPredicate(format: "(0 != SUBQUERY(scenes, $scene, $scene.sceneId IN %@).@count)", [2,3])

但是如果Venues scenes.sceneId包含2或3,我会得到值。我想只在与场地关联的scenes.sceneId包含2和3时才返回值。

更新

我终于在这篇文章中找到了答案: answer

0 个答案:

没有答案