CoreData:获取具有给定属性和给定关系的对象?

时间:2012-05-20 21:53:13

标签: core-data ios5 nsfetchrequest

我有一个看起来像这样的CoreData模型:

Object A:
  Results -- A one to many relationship to an indeterminate number of Object B's.

Object B:
  Object Name -- A string.  (potentially not unique)
  Parent -- A singular relationship with Object A.

如果我知道给定的Object A和我正在寻找的Object Name字符串,我正在努力编写一个将返回ObjectB的NSPredicate。我尝试过以下操作,但总是会收到此错误:

“'NSInvalidArgumentException',原因:'无法解析格式字符串...”

request.predicate = [NSPredicate predicateWithFormat:@"NameString == %@, SELF IN %@", NameString, ObjectA.results];

request.predicate = [NSPredicate predicateWithFormat:@"(NameString == %@) IN %@", NameString, ObjectA.results];

等等......

这似乎应该是一个简单而明显的事情,但我是Core Data的新手,我很难找到一个显示这个的例子。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用%K。

你的谓词中可能需要这样的东西

 NSString enitity=@"ObjectA";
 NSString attribute=@"results";
 request.predicate = [NSPredicate predicateWithFormat:@"NameString == %@, SELF IN %K.%K", NameString, enitity,attributes];

Look here.