gpt4 book ai didi

swift - Appkit:如何在本地文件夹上执行 NSMetadataQuery

转载 作者:行者123 更新时间:2023-12-04 08:01:57 26 4
gpt4 key购买 nike

我正在尝试执行 NSMetadataQuery本地 macOS 文件夹 (不在 iCloud 中)像这样使用 Appkit:

    let query = NSMetadataQuery()
query.valueListAttributes = [ NSMetadataItemURLKey ]
//Set the App's Documents folder as the SearchScope
query.searchScopes = [FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!]
NotificationCenter.default.addObserver(self, selector: #selector(handleQueryNotification), name: NSNotification.Name.NSMetadataQueryDidFinishGathering, object: query)
query.enableUpdates()
query.start()
但是,我从未收到查询已完成收集结果的通知。当我将 searchScope 更改为 [NSMetadataQueryUbiquitousDocumentsScope] 时,我确实收到了通知。
来自 Apple's documentation似乎这应该是可能的:

This array can contain NSURL or NSString objects that represent file-system directories or the search scopes for the query


有什么我做错了吗?

最佳答案

您没有指明要查找的内容,但在调用 query.start 之前,您首先必须设置 query.predicate
(每个文档:
https://developer.apple.com/documentation/foundation/nsmetadataquery )
例如:

        query.predicate = NSPredicate(format: "%K LIKE '*.txt'", argumentArray: [NSMetadataItemFSNameKey])

关于swift - Appkit:如何在本地文件夹上执行 NSMetadataQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66423474/

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