如何使用谓词按字段执行查询?

How to perform a query by field using a predicate?

我似乎无法弄清楚如何正确编写 NSPredicate 来过滤查询以按特定字段进行搜索。我正在尝试搜索标题为 "Location" 的字段,然后在该字段中搜索字符串并查看字符串 "CA" 是否与用户字符串 "currentState" 匹配(CA 在在这种情况下,"currentState" 只是在字符串中分配的用户位置 (placemark.administrativeArea),然后只检索与这些过滤器匹配的记录。

这是我尝试使用的代码:

func retrieveStateMoods(latestStateMood:String) {


    // Create query
    let predicate:NSPredicate = NSPredicate(format: "Location", "\(self.currentState)%K") // CRASHES HERE!!
    let sort:NSSortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false)
    let query:CKQuery = CKQuery(recordType: "State", predicate: predicate)
    query.sortDescriptors = [sort]

等...

当我尝试创建谓词时它崩溃了。这是错误代码:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "Location"' First throw call stack:

我知道我还差得远,但我就是不知道如何正确地格式化谓词。我尝试阅读开发人员参考中的 NSPredicate 示例,但它都在 objective-c.

这应该是:

NSPredicate(format: "Location == %@", self.currentState)