使用NSPredicate查询CloudKit以获取空白日期(或null或其他)

时间:2017-05-30 22:02:23

标签: ios nspredicate cloudkit

我想查询CloudKit以获取具有空白日期(0/00/0000 00:00:00)的所有记录,并且我不知道如何创建将执行此操作的谓词。

这是我尝试过的,以及相关的错误:

    let predicate = NSPredicate(format: "ready == nil")                     // <ready != nil>: <nil> is not a function expression
    let predicate = NSPredicate(format: "ready == NIL")                     // <ready == nil>: <nil> is not a function expression
    let predicate = NSPredicate(format: "ready != NULL")                        // <ready != nil>: <nil> is not a function expression
    let predicate = NSPredicate(format: "ready == %@", NSNull())            // NSNull not allowed in comparison expression
    let predicate = NSPredicate(format: "ready == $NULL")                   // Unable to parse the format string "ready == $NULL"
    let predicate = NSPredicate(format: "ready == $BLANK")                  // <ready == $BLANK>: <$BLANK> is not a function expression
    let blankDate: Date = Date.init()
    let predicate = NSPredicate(format: "ready == %@", blankDate as NSDate)

    let haveADate = NSPredicate(format: "ready > %@", NSDate.distantPast as NSDate)
    let predicate = NSCompoundPredicate(notPredicateWithSubpredicate: haveADate)    // Inverting a valid one doesn't work either

1 个答案:

答案 0 :(得分:1)

我认为您的问题类似于this one

您应该尝试使用"ready == %@"与两个参考值进行比较,而不是"(ready >= %@) AND (ready <= %@)"