Cocoa 检查是否在基于文档的应用程序中成功保存
我有一个基于Cocoa文档的图片编辑应用程序。和往常一样,我的应用程序有文件->保存菜单和文件->另存为菜单 文件->保存菜单链接到NSDocument子类中的saveDocument: 文件->另存为菜单链接到NSDocument子类中的saveDocumentAs: 在这两种情况下,在成功保存时,我想向用户提供一份NSAlert表,说明保存成功,该表还向用户提供将文档上载到Facebook等的选项 我如何知道文档已成功保存 我知道在文件->另存为的情况下,我可以创建一个新的操作方法mySaveDocument:并调用Cocoa 检查是否在基于文档的应用程序中成功保存,cocoa,macos,Cocoa,Macos,我有一个基于Cocoa文档的图片编辑应用程序。和往常一样,我的应用程序有文件->保存菜单和文件->另存为菜单 文件->保存菜单链接到NSDocument子类中的saveDocument: 文件->另存为菜单链接到NSDocument子类中的saveDocumentAs: 在这两种情况下,在成功保存时,我想向用户提供一份NSAlert表,说明保存成功,该表还向用户提供将文档上载到Facebook等的选项 我如何知道文档已成功保存 我知道在文件->另存为的情况下,我可以创建一个新的操作方法mySav
saveDocumentWithDelegate:didSaveSelector:contextInfo:
从mySaveDocument:但是我应该如何处理文件->另存为?在您的
NSDocument
子类中,重写:
- (BOOL)saveToURL:(NSURL *)absoluteURL
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
error:(NSError **)outError
{
BOOL success = [super saveToURL:absoluteURL
ofType:typeName
forSaveOperation:saveOperation
error:outError];
if (success) {
…
}
return success;
}
每当保存文档时,都会调用此方法
有关保存文档时会发生什么的详细信息,请阅读文档。您知道有多少主流Mac OS X应用程序会弹出一张表格,告诉您文件已成功保存?回答:没有,而且理由充分。最好将你的“你想上传到Facebook吗?”问题放在“保存”面板上,然后在保存有效的情况下,在没有任何提示的情况下进行保存。中断用户的工作流程只是为了告诉他们是否出了问题。