使用 NSMetadataQuery 搜索文件根本没有任何作用

2024-04-24

我尝试使用 NSMetadataQuery 和 NSPredicate 来搜索文件。经过几个小时的尝试和寻找解决方案(我是 swift 的新手),我有一个小例子。它编译得很好,但结果为零。我尝试了不同的谓词,但最终metadataQuery.resultCount始终为0。 任何人都知道出了什么问题吗?

class AppDelegate: NSObject, NSApplicationDelegate {
var metadataQuery: NSMetadataQuery!
var metadataQueryDidUpdateObserver: AnyObject?
var metadataQueryDidFinishGatheringObserver: AnyObject?


@IBOutlet weak var window: NSWindow!

func applicationDidFinishLaunching(aNotification: NSNotification) {

    NSNotificationCenter.defaultCenter().addObserver(self, selector: "initalGatherComplete:", name: NSMetadataQueryDidFinishGatheringNotification, object: nil)

    metadataQuery = NSMetadataQuery()
    metadataQuery.searchScopes = [NSMetadataQueryIndexedLocalComputerScope]
    metadataQuery.predicate = NSPredicate(format: "%K LIKE '*'", NSMetadataItemFSNameKey)
    metadataQuery.startQuery()

}

func initalGatherComplete(notification: NSNotification) {
    metadataQuery.stopQuery()

    let resultCounter = metadataQuery.resultCount
    NSLog("%lu", resultCounter)

    NSNotificationCenter.defaultCenter().removeObserver(self, name: NSMetadataQueryDidFinishGatheringNotification, object: nil)
}

最后但并非最不重要的一点是:当前谓词应列出所有文件,但最后谓词应仅列出应用程序。创建这样的谓词的最佳实践是什么?我计划过滤扩展名 .app 但也许有更好的方法?

Thanks!


检查你的谓词语法 https://developer.apple.com/library/ios/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/QueryFormat.html#//apple_ref/doc/uid/TP40001849-CJBEJBHH. The LIKE运营商不可用NSMetadataQuery谓词搜索(实际上NSPredicate在 Spotlight 元数据搜索上下文中使用一组非常相似但实际上不同的运算符和行为。)

NSMetadataQuery全局搜索的语法仅使用等号:

NSPredicate(format: "%K ==[cd] '*'", NSMetadataItemFSNameKey)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 NSMetadataQuery 搜索文件根本没有任何作用 的相关文章

随机推荐

  • Visual Studio Code / powershell 命令历史记录向上键

    我可以通过什么方式在 Visual Studio Code 中记录之前输入的命令 例如 当我按下向上键时 我可以向上浏览之前的所有命令 如果可能的话 我想将这些记录到文件中 它们本地存储在哪里 我可以用节点之类的东西记录它吗 实际上 我自己
  • 在页面显示到屏幕之前删除 DOM 元素(在 Chrome 扩展中)

    我正在尝试创建一个扩展 该扩展将在页面显示到屏幕上之前删除某些页面元素 按 id 或类 我尝试在文档上使用事件侦听器 以 DOMContentLoaded 作为事件 但 javascript 似乎在页面显示给用户后执行 然后删除它 所以它不
  • 基于 Django 类的视图和表单集

    我有一个基于类的视图称为OrganizationsCreateView它包括附加到模型表单的表单集作为该表单的实例变量 当用户输入数据时 这可以正常工作 可以很好地创建一个新对象 当用户想要向表单集中添加其他行时 我有一个提交按钮 可以触发
  • iOS glGenerateMipmap 是同步的,还是可能是异步的?

    我正在开发一个在 OpenGL ES 中使用大纹理的 iPad 应用程序 当场景首次加载时 我在天花板上看到了几帧的大型黑色伪像 如下图所示 就好像更高级别的 mipmap 尚未填充 在后续帧中 天花板正确显示 当我开始使用 mipmapp
  • 如何使用 mongocxx c++ 驱动程序递归生成 Mongodb 文档?

    如何使用 mongocxx c 驱动程序递归生成 Mongodb 文档 1 我使用 mongocxx c 驱动程序 v 3 和 c 11 2 这是我的 main cpp 方法 它解析十六进制字符串并生成 mongocxx 代码 如下所示 控
  • 在 Trie 中插入值

    我在 SML 目录中找到了 Trie 的实现 signature DICT sig type key string concrete type type a entry key a concrete type type a dict abs
  • Android 无法初始化 Visualizer 引擎,错误:-4

    我有一个错误 public class VisualizerCapture extends Activity implements Visualizer OnDataCaptureListener private Visualizer mV
  • 玩 Scala 和线程安全

    该项目是使用编写的Play framework and Scala语言 我已经实施了compile time dependency 我按照 Play 中的这个例子进行操作 https github com playframework pla
  • 通过循环遍历另一个数组来填充新数组

    我正在做一些计算 根据用户输入 应进行计算并构建包含数据的表格 我的第一个数组 calcTable正在按预期工作 但是每一行代表一个月 在我的决赛表中 我想要一行代表一年 所以我目前正在尝试填充一个新数组 calcTableShow将保存这
  • Ada:如何解决“循环单元依赖”?

    假设我有两条记录 Person and Animal 每条记录都在一个单独的包中 包人 with animals use animals package persons is type person is record animalref
  • 仅将样式表应用于特定元素特征

    经过一番谷歌搜索后 我无法找到答案 所以这是我的问题 有没有办法指定应应用整个样式表的特定元素特征 例如 id 例如 如果我有一个像这样的 html 块 div div 有没有办法指定其中包含的规则 style css应该只应用于与 in
  • 安卓输入法连接错误

    我正在将我的 Android 客户端模拟器连接到服务器 Servlet 输出流工作正常 服务器正在打印从客户端发送的消息 服务器正在成功发送响应 但android输入连接是被动的 这里的错误显示在logcat中 showStatusIcon
  • 如何防止 IIS 默认站点 web.config 文件被虚拟目录继承?

    我在默认 IIS 站点的 web config 文件中有以下代码
  • 如何在 JavaScript 中将字符串的第一个字母变为大写?

    如果字符串是字母 如何将其第一个字符设为大写 但不更改任何其他字母的大小写 例如 this is a test This is a test the Eiffel Tower The Eiffel Tower index html inde
  • 如何在 Windows 8 Metro 应用程序中获取设备 ID

    如何获取Windows应用商店应用 Metro应用 中的唯一设备 我们可以使用 Windows System Profile HardwareIdentification GetPackageSpecificToken null Windo
  • 使用注释通过嵌套事件在 Moshi 中序列化 Null

    我正在尝试添加自定义注释 以便在调用时将模型中的特定值序列化为 nulltoJSON来自莫西的方法 我有一些基于此的工作response https stackoverflow com questions 52254876 moshi cu
  • 在 Python 中高效操作笛卡尔坐标列表

    背景 我正在编写一个程序 用于处理与各种规则形状的顶点网络相关的大量数据 我有一个工作生成器 它根据一系列用户输入参数生成与所述形状的顶点相对应的笛卡尔坐标列表 然后 数据被传递到过滤器 过滤器清除重复的条目 对数据进行排序和各种其他功能
  • 如何将 ICommand 添加到 FrameworkElement 中的事件?

    我怎样才能添加一个ICommand到一个事件从FrameworkElement 具体来说我想做以下事情
  • 如何修剪字符串而不包含空格

    如何从字符串中删除空格和其他空白字符 我不想只删除字符串末尾的空格 而是删除整个字符串的空格 您可以使用正则表达式
  • 使用 NSMetadataQuery 搜索文件根本没有任何作用

    我尝试使用 NSMetadataQuery 和 NSPredicate 来搜索文件 经过几个小时的尝试和寻找解决方案 我是 swift 的新手 我有一个小例子 它编译得很好 但结果为零 我尝试了不同的谓词 但最终metadataQuery