使用核心数据在 NSPredicate 中调用对象的方法
Posted
技术标签:
【中文标题】使用核心数据在 NSPredicate 中调用对象的方法【英文标题】:Calling method on object in NSPredicate with Core Data 【发布时间】:2015-06-09 12:34:16 【问题描述】:我有一个与“员工”有一对多关系的“职位”实体。我想用NSPredicate
做这样的事情
[position.employees containsObject:meEmployee]
有一个调用来执行 NSPredicate
with block,但遗憾的是它不能与 CoreData 一起使用。
我该怎么做?
【问题讨论】:
如何在不使用谓词的情况下获取核心数据实体? 显示到目前为止您是如何尝试使用谓词的 我只是加载所有位置,然后使用 nspredicate 和该数组上的块过滤它们NSFetchRequest
有一个可以添加的NSPredicate
属性。把它放在那里。
【参考方案1】:
如果您要获取具有任何 employees
匹配 meEmployee
的 position
实体,那么您可以使用这样的谓词:
NSPredicate *predicate = [NSPredicate predicateWithFornat:@"ANY employees == %@", meEmployee];
但如果employees
的逆关系是position
,您可以通过以下方式实现相同的效果:
meEmployee.position
【讨论】:
以上是关于使用核心数据在 NSPredicate 中调用对象的方法的主要内容,如果未能解决你的问题,请参考以下文章