我有一个Realm数据库,其中包含一个地点列表,每个地点都有一个placeTypes列表。我希望能够使用谓词查询,例如-
let searchKey = "hotel"
let predicate = NSPredicate(format: "%@ IN placeTypes", searchKey)
,但是当我要匹配多个搜索键时,这不起作用。到目前为止,我的解决方案是使用NSCompoundPredicate-
let searchKeys = ["hotel", "cafe", "bar"]
let predicates: [NSPredicate] = searchKeys.map { NSPredicate(format: "%@ IN placeTypes", $0) }
let compoundPredicate = NSCompoundPredicate(orPredicateWithSubpredicates: predicates)
这一切都很好,也很好,并且确实可以工作,但是我感觉这对于大型表来说并不是特别有效,并且无论如何将其合并为一个谓词将是很好的。
如果有人对如何做到这一点有任何想法,我将不胜感激-在SO上进行的大量搜索都没有找到类似的问题。
答案 0 :(得分:0)
通过这种方式将项目细分为酒店,餐厅等类别可能会更有效,因为您只需在相应的类别中进行搜索