CoreData:获取具有给定属性和给定关系的对象?
Posted
技术标签:
【中文标题】CoreData:获取具有给定属性和给定关系的对象?【英文标题】:CoreData: Fetch an object that has a given property AND a given relationship? 【发布时间】:2012-05-20 21:53:13 【问题描述】:我有一个看起来有点像这样的 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 的新手,很难找到一个展示这一点的示例。
谢谢!
【问题讨论】:
【参考方案1】:你需要使用 %K。
你的谓词中可能需要这样的东西
NSString enitity=@"ObjectA";
NSString attribute=@"results";
request.predicate = [NSPredicate predicateWithFormat:@"NameString == %@, SELF IN %K.%K", NameString, enitity,attributes];
Look here.
【讨论】:
以上是关于CoreData:获取具有给定属性和给定关系的对象?的主要内容,如果未能解决你的问题,请参考以下文章
CoreData, NSManagedObject 获取或创建(如果不存在)