查询包含字符串值列表的几个字段(Realm Swift)

时间:2018-04-06 18:11:22

标签: ios swift realm

我正在尝试同时查询包含Realm中字符串值列表的多个字段。假设我有以下对象:

class Book: Object {
    @objc dynamic var id = 0
    @objc dynamic var category = ""
    @objc dynamic var title = ""
    @objc dynamic var story = ""
}

要在多个字段中搜索一个关键字,我使用以下代码:

let predicateKeyword = NSPredicate(format: "category CONTAINS[c] %@ OR title CONTAINS[c] %@ OR story CONTAINS[c] %@", keyword, keyword, keyword)

要在一个字段中搜索多个关键字,请使用以下代码:

let predicate = NSPredicate(format: "story CONTAINS[c] %@", argumentArray: specialKeywords)

如果我有多个关键字同时在多个字段中查询,该怎么办?我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

我建议使用NSCompoundPredicate来反对手工制作谓词字符串。使用NSCompoundPredicate,您可以将多个或或者a.masri正确地调出来,在谓词中形成一个单一谓词,然后您可以将其传递给域。