不太了解 NSMetadataQuery

发布于 2024-11-16 02:37:13 字数 509 浏览 4 评论 0原文

我正在寻找一个可以从 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 个结果。为什么?

I am looking for a class to use from the Cocoa API to perform a Spotlight search on the entire system. I looked at NSMetadataQuery and believe this is the class for this, however I don't understanding how to do this; primarily NSPredicate. I would like to search the system for a file named "test123.html" for example and get its full path. Examples are greatly appreciated. My code:

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];

This returns 0 results. Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光倒影 2024-11-23 02:37:13

kMDItemSFName 应该是 kMDItemFSName

kMDItemSFName should be kMDItemFSName

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文