我有一个看起来像这样的模型:

并希望UITableView使用NSFetchedResultsController. 我想列出Object给定的所有 s Owner,按Group. 例如,如果我们要查看某个所有者Owner A的组,表格视图可能如下所示:
Group A
Object A
Object B
Object C
Group B
Object A
Object D
Group C
Group D
Object C
Object E
同样重要的是,组按其name属性排序(上面的架构中未显示),并且NSFetchedResultsController每当对象被修改或从组中添加/删除时,都会调用委托方法。
鉴于这些要求,我设置了sNSFetchedResultsController来获取一堆Object带有谓词 like 的 s [NSPredicate predicateWithFormat:@"ANY groups.owner = %@", someOwner],这会引发NSInvalidArgumentException异常:“此处不允许使用多键”。我尝试了其他一些谓词,但被卡住了。
有什么建议么?这不是我应该使用的东西NSFetchedResultsController吗?或者有没有更好的方法来建模我的数据?
谢谢!
编辑:我实际上得到了使用上述代码的谓词,我的错误在于我的sectionNameKeyPath论点。我试图通过groups.name,这是产生错误的原因。我明白为什么这种方式行不通,但我正在努力寻找一种不同的方式来达到预期的效果。也许是一个连接对象?
编辑 2:这对于像这样的连接对象有点效果:

我现在看到有两个缺点。首先是我必须自己使用代码强制执行唯一性。这很容易,但有点麻烦。第二个缺点,我还没有看到解决方法,是NSFetchedResultsController不会再调用它的委托来更新Objects。我现在可以忍受这个缺点,但很高兴听到更好的建议。