NSPredicate that returns common list from 2 Core Data NSManagedObjects

NSPredicate that returns common list from 2 Core Data NSManagedObjects

假设我在 Core Data 中有 3 个 NSManagedObjects,分别是 "Boys"、"Girls" 和 "Hats"。 "Hats" 与 "Boys" 和 "Girls" 都是多对多关系。所以每个女生可以有很多个"Hats",每个帽子可以有很多个"Girls",男生也一样

使用NSPredicate,如何找到男孩A和女孩1有关系的"Hats"的共同列表?

所以,我想要检索 John 和 Sally 都可以穿的所有 "Hats"。我该怎么做?

[NSPredicate predicateWithFormat:@"ANY boys.name = %@ AND ANY girls.name = %@",
    @"John", @"Sally"]

应该可以解决问题。