【发布时间】:2012-07-05 23:43:12
【问题描述】:
我有这样的要求:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY attributes.attribute.attributeId IN %@", attributeIds];
这将返回一个对象列表,这些对象具有我设置的一个或多个属性。我想获取具有我传递的所有属性的对象列表,所以我尝试了:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ALL attributes.attribute.attributeId IN %@", attributeIds];
但我遇到了一个例外:
'NSInvalidArgumentException', reason: 'Unsupported predicate (null)'
无论如何,我什至不确定这是不是正确的请求。假设我有 at 属性列表:[red, green, blue],我怎样才能获得至少具有这些属性的所有对象?
* Object_1 (red, green, blue)
* Object_2 (red, green, blue, yellow, brown)
* Object_3 (red, green blue, black, brown)
但不是Object_4 (red, green, yellow),因为它没有blue 属性(请注意,我通过ANY 获取请求获得了所有4 个对象,正如预期的那样)
编辑,相关问题:如果我想要完全匹配怎么办?所以对于[red, green, blue],我只会得到Object_1?
编辑2:我设法回答了这两个问题,但I have a new one
【问题讨论】:
标签: ios objective-c core-data nspredicate