0

我有一个看起来有点像这样的 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.

如果我知道给定的对象 A 和我正在寻找的对象名称字符串,我正在努力编写一个将返回 ObjectB 的 NSPredicate。我尝试了以下方法,但总是收到此错误:

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

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

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

等等...

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

谢谢!

4

1 回答 1

0

您需要使用 %K。

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

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

看这里。

于 2012-05-21T09:33:59.027 回答