NSPredicate for Nested Relationships(多对多)iOS

时间:2017-01-06 01:37:22

标签: ios core-data

我已经挣了好几个小时,以为我会接触到SO。在我的应用数据模型中,我有一个实体SubCategory,其中包含许多CreatedTask,每个CreatedTask可以包含多个User

enter image description here

假设我有一个名为userObject的用户实体变量。

我想要抓取所有SubCategories,其中tasks.assigneesuserObject。我该怎么做?

这是我到目前为止所尝试的内容:

let userFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "SubCategory")
let predicate = NSPredicate(format: "%@ IN tasks.assignees", userObject)
fetchedResultsController.fetchRequest.predicate = predicate

但是我产生了一个令人讨厌的错误:

  

谓词的未实现SQL生成。

非常感谢任何帮助。

完整错误输出: enter image description here

1 个答案:

答案 0 :(得分:0)

感谢yan的帮助,我能够弄明白,只需将用户对象放入数组中。

let users: [User] = [userObject]
let predicate = NSPredicate(format: "SUBQUERY(tasks, $m, ANY $m.assignees IN %@).@count > 0", users)