【发布时间】:2016-03-02 03:07:30
【问题描述】:
我试图通过这样做将两个NSPredicates 用于单个提取请求,
let predicate1 = NSPredicate(format: "object1 == nil", "object1")
let predicate2 = NSPredicate(format: "object2 == nil", "object2")
let predicate = NSCompoundPredicate(type: NSCompoundPredicateType.OrPredicateType, subpredicates: [predicate1, predicate2])
request.predicate = predicate
这些对象是NSManagedObject 的子类,我正在尝试获取与任一对象没有关系的所有项目。
但是它似乎不起作用,有人可以对我可能出错的地方提出任何建议吗?
【问题讨论】:
-
你没有在你的谓词中绑定任何东西,所以它们不应该是
NSPredicate(format: "object1 == nil", "object1"),而是NSPredicate(format: "object1 == nil") -
@sschale 似乎不起作用,对于单个谓词我使用
request.predicate = NSPredicate(format: "object1 == nil", "object1")并且有效 -
你可以只在谓词中使用 OR,所以你应该可以使用
NSPredicate(format: "(object1 == nil) OR (object2 == nil)")
标签: ios swift core-data nsfetchrequest