我正在构建一个实用程序应用程序,用于为Mac OSX跨两个系统同步文件.我需要检测文件何时被重命名,否则是同一个文件.我怎么在Cocoa中做到这一点?
没有简单的答案;您需要找出适合您的应用程序的最佳策略。
简单来说,就是使用文件系统编号。您可以使用 来获取它NSFileSystemFileNumber。可能更适合这项工作,但使用FSRef. 它是一个 C API,但相对简单,并且有一个与 FSRefs 进行比较以获得相等性的方法。
但是,有很多应用程序通过替换磁盘上的文件、更改其文件号来执行保存操作。这很可能会扰乱您的代码。所以考虑使用别名。这与 Finder 用于跟踪别名文件目标的系统相同。使用别名管理器 (C API) 或开源 Objective-C 包装器之一(例如 NDAlias 或 BDAlias)。别名将尽力通过路径和文件号维护对文件的引用。
| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |