gpt4 book ai didi

cocoa - 在基于文档的 Cocoa 应用程序中实现导出功能的公认方法是什么?

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

我有一个简单的基于文档的 Cocoa 应用程序,它充当 .wav 文件的查看器,以进行一些频率分析。我希望能够将从打开的文件中收集的数据导出到 CSV,以便在其他程序中进行进一步分析。

Cocoa 中基于文档的应用程序框架允许您覆盖

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError

实现默认的“保存/另存为...”工作流程,但我不想写入我打开的文件。

显而易见的事情是在我的文档中实现导出工作流程,以呈现文件保存表,构建一些 NSData,并将其写入文件路径,但是没有明显的方法来连接主菜单中的导出nib 到文档 Controller 上的操作。

那么,在基于文档的 Cocoa 应用程序中实现此类功能的公认方法是什么?

最佳答案

您可以在 MainMenu.nib 的“First Responder”对象中创建一个名为“export:”的新操作,并连接到它。然后,在文档子类中实现 export: 方法。这将调用您的方法。

这样做的原因是发送到神奇的第一响应者对象的消息会遍历整个响应者链,寻找处理它们的某个对象。响应者链中的项目之一是文档,因此当当前选定的控件、 View 、 super View 、窗口等都不处理消息时,文档就有机会处理。 (文档 Controller 也在该链上,因此您也可以使用它。)

查看Apple's responder chain docs - 图 1.10 涵盖了这个特定的路径。

关于cocoa - 在基于文档的 Cocoa 应用程序中实现导出功能的公认方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/770370/

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