我正在尝试同时查询包含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)
如果我有多个关键字同时在多个字段中查询,该怎么办?我如何实现这一目标?
答案 0 :(得分:1)
我建议使用NSCompoundPredicate来反对手工制作谓词字符串。使用NSCompoundPredicate,您可以将多个或或者a.masri正确地调出来,在谓词中形成一个单一谓词,然后您可以将其传递给域。