- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在执行 NSMetadataQuery,并获取文件和目录的所有 URL。
func initSearchQuery(){
print("\(logClassName): initSearchQuery")
searchQuery.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope]
let searchPredicate = NSPredicate.init(format: "%K like '*'", argumentArray: [NSMetadataItemFSNameKey])
searchQuery.predicate = searchPredicate
NotificationCenter.default.addObserver(self, selector: #selector(updateDataWithNotification), name: NSNotification.Name.NSMetadataQueryDidFinishGathering, object: searchQuery)
NotificationCenter.default.addObserver(self, selector: #selector(updateDataWithNotification), name: NSNotification.Name.NSMetadataQueryDidUpdate, object: searchQuery)
searchQuery.enableUpdates()
searchQuery.start()
}
有没有办法执行谓词,只给出目录的 URL?
最佳答案
经过一番研究,我终于解决了我的问题。
假设我们有 iCloud 文件夹的路径
var iCloudUrl = fileManager.url(forUbiquityContainerIdentifier: nil)
iCloudUrl = iCloudUrl.appendingPathComponent("Documents")
现在我们要对 iCloud Documents 文件夹内的folder1 执行 NSMetadataQuery。
我们可以通过声明 NSPredicate 来访问内容:
let searchPredicate = NSPredicate.init(format: "%K BEGINSWITH %@", argumentArray: [NSMetadataItemPathKey,iCloudUrl.appendingPathComponent("Folder1").path])
它将返回文件夹、文件和子文件夹的所有 URL。
1)如果我们只想获取文件,那么 NSPredicate 将如下所示
let searchPredicate = NSPredicate.init(format: "%K BEGINSWITH %@ && NOT %K.pathExtension = ''", argumentArray: [NSMetadataItemPathKey,iCloudUrl.appendingPathComponent("Folder1").path,NSMetadataItemFSNameKey])
2)如果我们想计算它有多少个文件夹和子文件夹
let searchPredicate = NSPredicate.init(format: "%K BEGINSWITH %@ && %K.pathExtension = ''", argumentArray: [NSMetadataItemPathKey,iCloudUrl.appendingPathComponent("Folder1").path,NSMetadataItemFSNameKey])
关于ios - NSMetadataQuery 按文件夹 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49066409/
我正在尝试使用 NSMetaDataQuery 在 iCloud 中探索我的应用可用的文件。我能够开始查询,但它永远不会结束。这是我的代码。 func report1() { let file
我正在寻找一个可以从 Cocoa API 中使用的类,以在整个系统上执行 Spotlight 搜索。我查看了 NSMetadataQuery 并相信这是这个类,但是我不明白如何做到这一点;主要是NSP
我正在尝试创建一个带有谓词的 NSMetadataQuery。在某一时刻,我可能想要收集 iCloud 在另一时刻可能拥有的所有图像的所有视频。别的什么都不要,就是搜视频或者搜图。不能同时进行。 我创
使用在 iOS 10 上运行的 xcode 8。尝试组合一个 super 简单的 NSMetadataQuery。现在腰部差不多一天了。设法让它进行查询,但它没有从我的 iCloud 返回任何文档,没
我尝试在我的 Mac 上列出我制作的应用程序的所有文件。我使用 NSMetadataQuery 但它不起作用。 代码如下: import Cocoa class ViewController: NSV
我正在尝试一些代码来使用 NSMetaDataQuery 获取基于应用程序路径 在捆绑标识符上。我正在关注在 apple dev 中找到的 hte 示例代码站点:静态 Spotlight 搜索实现。
我无法理解更新如何使用 NSMetadataQuery。 我正在尝试确定文件是否已从 iCloud 下载完成。我最初的查询很清楚地告诉我文件没有下载,我可以开始下载,但如果下载文件需要任何时间,我想设
我正在使用 UIManagedDocument 来管理我在 iCloud 中的文件。像这样设置 NSMetadataQuery 之后: iCloudQuery = [[NSMetadataQuery
我正在尝试执行 NSMetadataQuery在 本地 macOS 文件夹 (不在 iCloud 中)像这样使用 Appkit: let query = NSMetadataQuery()
我正在为我的应用程序制作一个备份管理器(通过 iCloud)。我做了一些测试,基本原理有效。但几天后就停了。我正在使用 NSMetadataQuery 搜索备份文件是否存在。我的备份文件名为例如Bac
原始搜索运行良好,但查询不会注意到对不可见项目的任何更改。 可以再次运行查询,它将找到更新。 查询非零,并且尚未取消订阅聚光灯通知。 这是错误还是预期行为? 我已经在几个不同的项目中对此进行了多次测试
我在聚光灯执行时对本地数据执行查询(NSMetadataQuery),并根据文件的修改日期对结果进行排序,到目前为止一切正常。但我无法理解如何对结果进行分组,例如我希望应用程序在一组中,文档在其他组中
我正在编写一个应用程序,可以在本地和 iCloud 上保存和加载文档。本地工作正常,但我在使用 iCloud 时遇到问题。 文档被保存为一个包 - UIDocument 读取和写入一个 NSFileW
我正在执行 NSMetadataQuery,并获取文件和目录的所有 URL。 func initSearchQuery(){ print("\(logClassName): initSearc
我有以下代码: // Main thread NotificationCenter.default.addObserver( self, selector:#selector(queryDid
默认情况下,NSMetaDataQuery 结果通知在主线程上接收。似乎您必须在主线程上调用 query.startQuery,但您可以使用 [query.setOperationQueue:] 设置
我尝试使用 NSMetadataQuery 和 NSPredicate 来搜索文件。经过几个小时的尝试和搜索解决方案(我是 swift 的新手),我有一个小例子。它编译得很好,但结果为零。我尝试了不同
当我禁用 iCloud 时,我似乎无法让 NSMetadataQuery 工作。我输入了有效的搜索 URL,但它从未注册为完成: //Check for iCloud NSURL *ubiq = [[
我试图限制 NSMetadataQuery 项的范围。我知道有 -setSearchScope: 方法(请参阅 docs ),但它只能让我决定项目将在哪些目录中搜索。 如果我需要从范围中排除一个或多个
在我的 Mac 应用程序中,我有一个 NSMetadataQuery 来查看应用程序的 iCloud 目录。当用户决定从应用程序内启用 iCloud 时,我按以下顺序执行以下操作: 调用 [[NSFi
我是一名优秀的程序员,十分优秀!