gpt4 book ai didi

objective-c - Cocoa 基于文档的应用程序 : Change "Save" to "Save As" for Viewer-Only Filetypes

转载 作者:行者123 更新时间:2023-12-03 17:17:20 24 4
gpt4 key购买 nike

我有一个基于 Cocoa 文档的应用程序,它(至少目前)用作基本文本编辑器。它保存 .txt、.rtf 和 .rtfd,并加载这些文件以及 .doc 和 .docx。如果我打开 .doc 或 .docx 文件并对其进行编辑,然后尝试关闭,它会提醒我保存,但保存选项不会执行任何操作,因为该应用程序只是这些类型文件的查看器。对于只能查看的类型(例如 .doc 和 .docx),如何将该功能设置为“另存为”?

最佳答案

将自定义 NSDocument 中的 saveDocumentWithDelegate::: 重写为以下内容:

- (void)saveDocumentWithDelegate:(id)delegate didSaveSelector:(SEL)didSaveSelector contextInfo:(void *)contextInfo
{
if (delegate != nil)
{
// use delegate or contextInfo to decide what operation you need to use...

[self runModalSavePanelForSaveOperation:NSSaveAsOperation
delegate:delegate
didSaveSelector:didSaveSelector
contextInfo:contextInfo];
}
else
{
[super saveDocumentWithDelegate:delegate
didSaveSelector:didSaveSelector
contextInfo:contextInfo];
}
}

默认情况下,delegate 要么是窗口关闭时的 NSWindow,要么是 NSDocumentController(如果您退出应用程序并且 Controller 枚举要查看的窗口)变化。

关于objective-c - Cocoa 基于文档的应用程序 : Change "Save" to "Save As" for Viewer-Only Filetypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3304379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com