我正在寻找的是一种简洁的方法来获取由其关系唯一标识的核心数据对象。例如,给定数据模型:
...并且给定了一组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
......但这看起来很傻。有更优雅的解决方案吗?
答案 0 :(得分:1)
以下谓词找到所有角落在给定集合中的三角形:
[NSPredicate predicateWithFormat:@"ALL corners IN %@", nodeSet]
nodeSet
可以是NSSet
或NSArray
。