gpt4 book ai didi

swift - 如何在 OS X 中通过字符串查询搜索文件/文件夹?

转载 作者:行者123 更新时间:2023-11-30 10:43:36 25 4
gpt4 key购买 nike

像 Finder 一样,你给它一个字符串查询,它返回一个包含匹配字符串的文件列表,我不想使用另一种方法来获取目录中的所有文件,然后逐一迭代以提高性能问题。

我查看了FileManager,但没有类似的东西。

最佳答案

感谢@vadian,我得到了提示:

经过一番谷歌搜索后实现了该方法,希望您发现它有用。

注意:此方法使用聚光灯搜索,比传统方法更快,但仅限于非系统目录和索引目录。

设置谓词和路径后,您将监听完成收集结果时触发的通知。

func getFiles(in paths: [String], query: String) {
let queryMeta = NSMetadataQuery()
let nf = NotificationCenter.default
nf.addObserver(forName: NSNotification.Name.NSMetadataQueryDidFinishGathering, object: nil, queue: operationQueue, using:{_ in
queryMeta.disableUpdates()
print(queryMeta.results.count)
for item in queryMeta.results {
if let itemMeta = item as? NSMetadataItem, let name = itemMeta.value(forAttribute: NSMetadataItemPathKey) {
print(name)
}
}
})
queryMeta.searchScopes = paths
queryMeta.predicate = NSPredicate(format: "%K CONTAINS[c] '\(query)'", NSMetadataItemFSNameKey)
print("Starting searching for query: \(query)")
queryMeta.start()
}

关于swift - 如何在 OS X 中通过字符串查询搜索文件/文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56293725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com