基于文档的应用程序与核心数据与纯核心数据应用程序

时间:2009-10-31 02:37:04

标签: cocoa xcode core-data

我试图了解这两种类型的Core Data应用程序模板之间的主要区别。

我的理解是,使用基于文档的核心数据应用程序,您可以免费访问NSDocument实例和许多基于文档的行为(保存对话框,撤消等)。

假设我想创建一个更“基于项目”的应用程序而不一定专注于创建单个可保存文档,我是否还应该使用Core Data with Documents?

更具体地说,我正在尝试使用核心数据构建一个简单的CMS应用程序,并以结构化方式输出html页面。应用程序的想法将集中在真正项目而非单个文档的“站点”上。这些项目包含各种帖子,页面,侧边栏内容以及可能需要进入网站的任何内容的合并模型。但该应用程序不会将单个页面保存为传统意义上的文档。我想要一个所有项目数据的统一模型,并提供导出功能,整个应用程序模型将表示为指定项目文件夹中的一组html文档。

这既是一次学习练习,也是我想为自己尝试和建立的东西。

有关特定文档的任何提示,请阅读?特别是有关基于“项目”的可可应用程序的信息,以及有用的示例和教程。

可以想象,CMS数据模型可以存储在单个Core Data文档中,但从架构的角度来看,这似乎不一定正确。

2 个答案:

答案 0 :(得分:4)

项目可以是文档,文档不必是单个文件。阅读NSDocument相关文档,并确定它是否提供您可能感兴趣的任何功能。

答案 1 :(得分:4)

我认为区别在于基于文档的应用程序允许用户分别存储多组信息。

从功能的角度来看,最好的例子是iTunes。 Apple不会让你拥有多个库,它是全部或全部,是整个应用程序的一个“数据库”。

基于文档的简单应用程序类似于TextEdit。

我不认为你提出的建议与基于单个文档的应用程序有太大的不同 - 你只需要记住你生成的网页是OUTPUT,而不是项目的一部分。同样,您不会将TextEdit的打印输出视为文档的一部分。或者XCode中的对象/可执行文件是项目的一部分。