【问题标题】:How to use two NSPredicates for fetch request - Swift 2如何使用两个 NSPredicates 获取请求 - Swift 2
【发布时间】: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


【解决方案1】:

试试这个,

let predicate1 = NSPredicate(format: "object1 == nil && object2 == nil", "object1","object2")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2021-11-16
    • 2015-11-23
    • 2023-03-09
    • 1970-01-01
    • 2018-06-23
    相关资源
    最近更新 更多