【问题标题】:File system watching in iOSiOS 中的文件系统监视
【发布时间】:2013-10-28 10:16:25
【问题描述】:

我的 Documents 文件夹中有文件树。查看 Documents 文件夹及其所有子文件夹中的所有更改的最简单方法是什么?我已经阅读过关于 kqueue 的内容,但它似乎只适用于文件夹本身(不适用于其子文件夹)。

【问题讨论】:

  • 您希望进行哪些您不知道的更改?
  • @Wain 我发现我的应用程序的瓶颈之一是 [NSFileManager fileExistsAtPath:] 调用,所以我决定缓存这个调用。但我需要知道何时删除或添加了某些文件。
  • 我认为 MHWDirectoryWatcher 只能观看目录本身而没有子文件夹
  • 只要您的应用进入后台然后重新回到前台,只需重新扫描...

标签: ios iphone kqueue


【解决方案1】:

如果不能使用操作系统内置的功能,扫描文件系统的成本相对较高。

对于 iOS,您的应用文件系统在应用运行时无法真正更改。 iTunes 可以同步一些对您来说可能是个问题的文件,但通常,当应用程序打开时,只有应用程序在进行更改。因此,应用程序应该通过发布有关更改事件的通知来处理这种情况,以便应用程序内的其他类可以观察它们并相应地处理这种情况。

您的通知还可以包含 userInfo 字典中更改内容的详细信息。

【讨论】:

  • 但是您可以例如将文件添加到 Documents 文件夹。
  • '你'是你的应用程序中的一些代码 - 所以它可以在这样做之后发布通知
猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多