始终确保保存到磁盘(或iCloud)的文件包含基于NSDocument
的Cocoa应用程序中文档格式的默认文件扩展名的最佳方法是什么?
背景
用户可以将旧文件加载到仍使用Type-Creator-Codes的应用程序中。
在我们的应用程序中启用了自动保存功能后,我们需要确保文件在使用我们的Cocoa应用程序写回磁盘后(通过任何类型的更改),始终添加文件扩展名 - 或者该应用程序无法打开它(现在既不类型 - 创建者 - 代码也不文件扩展名)。
答案 0 :(得分:2)
如果我说得对,我会覆盖NSDocumentController's
open method
- (void)openDocumentWithContentsOfURL:(NSURL *)url
display:(BOOL)displayDocument
completionHandler:(void (^)(NSDocument *document,
BOOL documentWasAlreadyOpen,
NSError *error))completionHandler {
if(!url.pathExtension isEqualToString:@"XYZ")
url = url URLByAppendingPathExtension:@"XYZ"];
[super openDocumentWithContentsOfURL:url
display:displayDocument
completionHandler:completionHandler];
}
注意:内联编写