我有一个可以编写包式文档的工具。它是使用 NSDocument 实现的,并覆盖以下 NSDocument 方法:
- (NSFileWrapper *)fileWrapperOfType:(NSString *)typeName
error:(NSError **)outError;
- (BOOL)readFromFileWrapper:(NSFileWrapper *)fileWrapper
ofType:(NSString *)typeName
error:(NSError **)outError;
这一切都很可爱,除了当我保存受版本控制的文档时。 (不保留 .svn 目录等)
是否有一个好的方法可以使我的文档与 svn 兼容?
最佳答案
我猜你的代码是通过每次调用 -fileWrapperOfType:error:
时创建一个新的文件包装器来工作的。这很方便,但会忽略包内磁盘上可能存在的任何其他文件。
那么,如果您首先创建/使用引用磁盘上现有内容的文件包装器,该怎么办?修改该包装器以匹配文档的当前状态,并返回结果。当该包装器写入磁盘时,应该正确维护 svn 文件。
关于cocoa - 使 Cocoa NSDocument 包与 svn 兼容的秘诀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560060/