我正在寻找的是一种简洁的方法来获取由其关系唯一标识的核心数据对象。例如,给定数据模型:
...并给定一组NSManagedObject
节点,我想获取一个三角形,或者至少知道一个 TriangleEntity 是否存在,如下所示:
NSSet *nodeSet = // a set of 3 NSManagedObject*s
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"TriangleEntity"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"corners CONTAINS ALL %@", nodeSet];
我认为这CONTAINS ALL
不是正确的语法——而且我知道我可以解压 NSSet 并获取
@"corners CONTAINS %@ AND corners CONTAINS %@ AND corners CONTAINS %@", setObj1, setObj2, setObj3
......但这似乎很愚蠢。有没有更优雅的解决方案?