Iphone 通过CoreData中的NSPredicate获取属性的所有值

Iphone 通过CoreData中的NSPredicate获取属性的所有值,iphone,core-data,ios5,xcode4.2,nspredicate,Iphone,Core Data,Ios5,Xcode4.2,Nspredicate,这个问题听起来像一个新手,但我已经为我的解决方案,这仍然是一个问题的所有线程。所以我有一个实体查找,它有一个属性“descrip”。 现在我的问题是我想获取属性“descrip”的所有值 到目前为止,我已经使用了所有这些查询: [NSPredicate predicateWithFormat:@"descrip == %@",[NSNumber numberWithInt:1]]; [NSPredicate predicateWithFormat:@"descrip == %@",@"descr

这个问题听起来像一个新手,但我已经为我的解决方案,这仍然是一个问题的所有线程。所以我有一个实体查找,它有一个属性“descrip”。 现在我的问题是我想获取属性“descrip”的所有值

到目前为止,我已经使用了所有这些查询:

[NSPredicate predicateWithFormat:@"descrip == %@",[NSNumber numberWithInt:1]];
[NSPredicate predicateWithFormat:@"descrip == %@",@"descrip"];
[NSPredicate predicateWithFormat:@"descrip == %@",[NSNumber numberWithBool:YES]];
如果我发问

[NSPredicate predicateWithFormat:@"descrip == %@",@"Art Gallery"];
它返回一个数组,其中包含与Art Gallery关联的值。“descrip”属性包含250个值,如Art Gallery

请帮帮忙。提前感谢。

NSPredicate用于将结果限制为符合特定限制的实体-如您所说,descrip==@Art Gallery将返回所有具有decrip属性设置为Art Gallery的实体

在您的情况下,您不希望限制查询中的实体。只需执行不带任何谓词的查询,所有实体都将返回。现在只需在实体上循环,并将descrip的所有值放入NSMutableSet或NSMutableDictionary,您就有了您的descrip值列表。

NSPredicate用于将结果限制到遵守特定限制的实体,就像您所说的,descripp==@Art Gallery将返回所有将decrip属性设置为Art Gallery的实体


在您的情况下,您不希望限制查询中的实体。只需执行不带任何谓词的查询,所有实体都将返回。现在,只需在实体上循环,并将descrip的所有值放入NSMutableSet或NSMutableDictionary,就可以得到您的descrip值列表。

您还可以设置请求

[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:
  [NSArray arrayWithObject: @"descrip"]; 

但是您仍然必须循环结果数组,以便仅获取descrip值。

您还可以设置请求

[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:
  [NSArray arrayWithObject: @"descrip"]; 

但是您仍然必须循环结果数组,以便仅获取descrip值。

您可能希望修改fetch请求,而不是谓词。看


您可能希望修改fetch请求,而不是谓词。看


您是否尝试过[NSPredicate predicateWithFormat:@descripp==%@,@%];?是否只需要descrip的唯一值?是否尝试过[NSPredicate predicateWithFormat:@descrip==%@,@%];?是否只需要descrip的唯一值?