objective-c - NSDocument 架构的优缺点

标签 objective-c cocoa nsdocument

有没有人想分享 NSDocument 的优点和缺点?

特别是:

  • 一旦依赖了 NSDocument 架构,是否很难在需要时将其重构出来?

  • 对性能有影响吗?

  • 它在某些/许多方面限制了您吗?

最佳答案

(1) 一旦进入NSDocument,就很难回头了。那是因为 NSDocument 架构为您完成了大量繁重的工作。它为基于多文档的 Cocoa 应用程序的正常运行奠定了基础。如果你愿意,你可以重新发明那个轮子,但要实现平价将需要大量工作。

(2) 否;当然,文档体系结构在维护状态等方面会消耗一些周期。但是如果您要尝试推出自己的架构,您几乎必须做同样的事情。 AppKit 团队中维护文档架构的人员这样做是因为这是他们的工作——您的工作是尽可能快地向客户交付产品。如果您可以证明构建文档架构是实现该目标的一部分,那就去做吧。如果没有,而您需要一个,请重复使用给您的那个。

(3) 它限制您创建基于文档的应用程序。 :)

说真的,如果您需要基于文档的应用程序,请使用 NSDocument。如果你不这样做,就不要。

我最近编写了一个数据处理应用程序,其中所有文档数据都是从各种基于文本的文件中导入的。我真的不需要在 session 之间保留数据——它在列表中很好——但我仍然使用 NSDocument。它为我节省了大量时间。

关于objective-c - NSDocument 架构的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1418439/

相关文章:

iphone - 如何在 iphone 中将 unix 时间戳转换为 nsdate

ios - 如何防止备份带有外部文件的 Core Data 数据库?

objective-c - Cocoa/Obj-C - 将文件拖到应用程序图标时打开文件

macos - NSDocument获取实际保存路径?

objective-c - 如何用Cocos2D(iOS)创建多关卡游戏?

ios - UIActivityViewController 无法将图像添加到 imessage

ios - TableView 单元格丢失顺序

iphone - Cocoa/iPhone 中类似 Photoshop 的范围选择栏

objective-c - 对 NSPopUpButton 进行排序

objective-c - 帮助诊断 Cocoa 框架中的崩溃 - 可能的内存泄漏?