2009-09-29 121 views
4

我对Cocoa有点新,我发现很难判断何时使用基于NSDocument的架构与普通的NSApplication来创建我的应用程序。什么时候应该使用基于NSDocument的体系结构?

我创建这些玩具项目学习可可:

  1. 待办事项列表应用
  2. 聊天程序(如Adium的)
  3. 金融应用(简单的双项会计学)
  4. 个人书签应用
  5. CRM类触点管理

我应该将哪一个作为基于NSDocument的应用程序?

我会一定使用CoreData,只要我可以,但NSDocument和正常NSApplication与CoreData的工作,所以我不知道这是否与我的问题有关。

回答

9

只要文档的概念对您的应用程序有意义,就可以使用NSDocument。这取决于你来定义文件是什么。

与待办事项列表应用的一个例子:

  • 如果要管理一个单一的待办事项列表或包含多个待办事项列表(类似于iPhoto中使用图片或iTunes与歌曲的方法),一个单一的数据库,那么NSApplication是可以的。

  • 如果你想每一个待办事项列表储存在一个单独的文件,并能在您的应用程序(类似文字编辑的方法有文字或预览用图像)来打开许多窗口有几个待办事项列表,然后NSDocument值得考虑。

+0

'NSApplication'和'NSDocument'不是两个不同的方法,方法或不能一起使用的对象。它们是两个完全不同的东西:'NSDocument'用于基于文档的应用程序,'NSApplication'用于_every_应用程序。 ;-) – 2011-07-14 16:36:07

+0

其余部分完全有意义。 :-) 感谢您的建议。 – 2011-07-14 16:36:55

2

也许没有。

,如果你创建一个可以打开多个文档类的应用,您应该使用NSDocument

  • 文本编辑
  • 的Photoshop
  • TextMate的
  • 浏览器
  • ...
3

要问的问题不在于是否你应该使用NSDocument,但是你是否打算创建一个面向文档的应用程序。示例#1,#3和可能的#5是可以使文档为中心(而不是以图书馆为中心)的应用程序。

一旦您决定您的应用程序是否使用文档,您是否应该使用NSDocument的答案直接来自该文档。

相关问题