【问题标题】:NSPredicate in Realm - searching for any item from an array in resultsNSPredicate in Realm - 从结果中的数组中搜索任何项目
【发布时间】: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


【解决方案1】:

将项目分解为酒店、餐厅等类别可能更有效,这样您只在各个类别中进行搜索

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多