gpt4 book ai didi

cocoa - 如何在 cocoa 中获取文件夹更改通知(文件夹观察器)

转载 作者:行者123 更新时间:2023-12-03 16:16:07 25 4
gpt4 key购买 nike

我是 Cocoa 应用程序开发的新手。我希望我的应用程序在给定目录下的任何文件被修改时收到通知(文件夹观察程序)。修改是指删除、添加、更改文件内容。我尝试将 FSEvents 与 NSWorkspace 的通知中心或委托(delegate)消息一起使用,如 UKKQueue http://www.zathras.de/angelweb/sourcecode.htm#UKKQueue 中所示。 。当目录下的任何文件被修改时,我的应用程序会收到通知。但问题是它没有给出被修改的特定文件的名称或路径。它给出目录的路径,但不给出特定文件的路径。

知道如何监视文件夹中特定文件的修改吗?

最佳答案

您必须编写代码来跟踪文件夹的内容,然后每当您收到文件夹内容已更改的 FSEvent 通知时,您需要比较存储的有关文件夹内容的信息与实际的当前内容。

这可以是一个简单的可变数组 ivar,其名称类似于 folderContents,其中包含一组文件属性字典。您可以使用从 NSFileManager-attributesOfItemAtPath:error: 方法返回的字典或其子集。

当您收到文件夹通知时,您所需要做的就是遍历存储的字典并检查是否已添加、删除或修改任何文件。 NSFileManager 属性字典包含执行此操作所需的所有信息。

然后,您需要使用更新后的信息来更新您存储的有关该文件夹的信息。

关于cocoa - 如何在 cocoa 中获取文件夹更改通知(文件夹观察器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562265/

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