【发布时间】:2018-06-29 12:39:41
【问题描述】:
我有一个带有地点列表的领域数据库,每个地点都有一个地点类型列表。我希望能够使用谓词查询,例如 -
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 上进行的任何搜索都找不到类似的问题。
【问题讨论】:
-
表格架构好吗?
标签: swift realm nspredicate