【发布时间】:2015-07-23 08:03:09
【问题描述】:
我正在编写一个实用程序,它遍历 Cocoa 上的目录树并尝试检测自该目录上次与备份位置同步以来发生的更改。
当我最初同步文件和文件夹时,我获取 NSFileSystemFileNumber 并将其存储在该文件或文件夹的数据库记录中:
NSString *oldFilePath = /* ... */;
NSError *error = nil;
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:oldFilePath error:&error];
/* set database record for oldFilePath to [attributes fileSystemFileNumber] */
当我遇到新文件或文件夹时,我首先使用 NSFileSystemFileNumber 进行数据库查找以找到原始文件(如果有)。
但如果文件已编辑并从父目录移动到子目录,并且我正在尝试检测对父目录的更改,我希望能够使用保存的 NSFileSystemFileNumber 来识别新的路径,以便我可以区分移动和删除和更新。
任何替代解决方案来解决这个问题?
任何帮助表示赞赏..!!
【问题讨论】:
标签: objective-c xcode cocoa cocoa-touch nsfilemanager