cocoa - 不太了解 NSMetadataQuery

标签 cocoa macos nspredicate

我正在寻找一个可以从 Cocoa API 中使用的类,以在整个系统上执行 Spotlight 搜索。我查看了 NSMetadataQuery 并相信这是这个类,但是我不明白如何做到这一点;主要是NSPredicate。例如,我想在系统中搜索名为“test123.html”的文件并获取其完整路径。非常感谢示例。我的代码:

NSMetadataQuery *q = [[NSMetadataQuery alloc] init];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"kMDItemSFName == %@", @"test123456.png"];  
[q setPredicate:predicate];

[q startQuery];
while ([q isGathering]) {
    NSLog(@"%lu", [q resultCount]);
}

[q stopQuery];

这将返回 0 个结果。为什么?

最佳答案

kMDItemSFName 应为 kMDItemFSName

关于cocoa - 不太了解 NSMetadataQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397541/

相关文章:

python - 我可以在 Mac OS X 上的哪里保存 Python 开发的 GUI 应用程序的 sqlite 数据库?

objective-c - 子类化 NSPredicate 以添加运算符

ios - Swift 中 Realm 查询的交叉引用谓词

cocoa - 我如何用 Cocoa 创建一个透明且非矩形的 NSWindow?

macos - 如何将工具栏添加到 NSTableView 的底部?

bash - 使用打开的终端窗口目录路径在 OSX(Snow Leopard) 中打开一个新的终端选项卡

java - 操作系统 : ant in Eclipse doesn't find mvn - but works in terminal

objective-c - Cocoa 应用程序在任何 GL 函数上提供 EXC_BAD_ACCESS

iphone - 将 ASIHttpRequest PDF 存储为 NSData

iphone - 过滤 iPhone 地址簿中的联系人