我正在尝试MDQuery
在 macOS 上使用 Spotlight 搜索。我可以使用 创建初始查询MDQueryCreate
,但我不确定如何更新其查询字符串以更新搜索结果。
在NSMetadataQuery
中,我可以简单地更新predicate
查询实例的属性并再次运行查询。有类似的东西MDQuery
吗?或者我应该简单地MDQueryCreate
为每个新的查询字符串创建新的查询实例?我会在用户输入搜索框时显示搜索结果,所以我不确定MDQuery
为每个新查询字符串创建一个新实例是否是个好主意。
let mdQuery = MDQueryCreate(kCFAllocatorDefault, "kMDItemDisplayName == \"*cert*\"c" as CFString, nil, nil)
MDQuerySetMaxCount(mdQuery, 50)
MDQueryExecute(mdQuery, CFOptionFlags(kMDQueryWantsUpdates.rawValue))
// later...
// how do I update the query string for mdQuery?