gpt4 book ai didi

具有多种文档类型的基于 Cocoa 文档的应用程序

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

我想在 Cocoa 中构建一个基于文档的应用程序,以便它可以创建和处理不同类型的文档。将 Word、Excel、Powerpoint 想象为一个应用程序,而且更加简单。但每个窗口都会根据文档类型而有所不同。

对于存储,我将使用 CoreData。我考虑添加一个指定文档类型的字段,因为它们都应该具有相同的文件结尾。

那么,在不创建多个独立应用程序的情况下,最好的方法是什么?如何在 Interface Builder 中创建它?我该如何编写代码?

我不需要详细的源代码或任何东西,只需要如何做到这一点的一般想法,我会弄清楚其余的。

提前致谢!

最佳答案

这是 Cocoa Document 系统明确设计的目的。苹果provides documentation ,但这里是亮点。

  • 每种文档都是NSDocument的子类。如果您使用的是 Core Data,请将您的类基于 NSPersistentDocument。 (Apple 有一个关于如何在基于文档的应用程序中使用 Core Data 的 basic tutorial)
  • 您可以使用Info.plist告诉Cocoa您的应用程序可以打开的文档类型以及要使用的文档类。 .
  • 每个 NSDocument 子类都有一个或多个与其关联的 NSWindowController 对象,每个对象代表一个窗口。如果您只有一个窗口,则不必子类化 NSWindowController。您可以将 UI 逻辑放入文档子类中。但是,为了使代码更简洁,我强烈建议对 NSWindowController 进行子类化。
  • NSWindowController(以及 NSDocument,如果您决定不子类化 NSWindowController)可以从您在 Interface Builder 中构建的 NIB 加载窗口。事实上,这是创建文档窗口的推荐方法。

希望这能让您大致了解如何在 Cocoa 中实现这一点。

关于具有多种文档类型的基于 Cocoa 文档的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065079/

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