所有这些都是使用内置文档模型处理的。
新的文档类型是通过将它们添加到项目目标中来创建的,您只需要提供文档类型的名称、扩展名以及处理这些文档类型的操作的类。
然后简单地添加新类,每种类型一个,并使它们成为 NSDocument 的子类。您需要添加用于加载、保存和显示文档的代码。但大多数其他事情都是自动化的,甚至处理 iCloud 文档支持、多个作者,几乎任何你能想到的东西。
对于显示方面,这取决于你,但做一个标签界面应该不难。基本上,您希望在文档子类中有一个指向视图的 ivar。该应用程序将自动拥有一个包含所有文档的对象。现在您只需在 AppDelegate 中添加方法,这样当用户新建或打开时,它会创建一个新视图来保存文档,将其插入到选项卡控件中,然后加载文档。作为加载过程的一部分,文档将调用它的绘图方法,然后它就会出现。
事实上,大部分这些你甚至不必做,它也是内置在机器中的。对于具有单一文档类型的基本应用程序,您通常只需要编写十几个方法,对于处理多个文档的应用程序,唯一的变化是在不同的地方使用几个 switch 语句来查看文档类型并做不同的事情(即,也许一个文档无法保存,只能加载)。
从这里开始:https ://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/Introduction/Introduction.html