您的位置:首页 > 移动开发 > Swift

swift 快速奔跑的兔几 本节的内容是:基于文档的应用程序

2015-11-26 13:42 465 查看
OS X和iOS提供了大量的工具来帮助设计app,让用户能够创建,编辑和处理文档。

尽管OS X和iOS上都提供了一些用于开发基于文档的应用程序的技术,但向用户呈现文档的方法却是不同的:

OS X上,用户通过Finder管理其文档。

iOS上,仍然存在文件系统,但是用户很少能看到它。所有文档都是通过应用程序呈现给用户并进行管理的。管理文档所涉及的所有任务,都必须由应用程序完成。

一个文档可以由多个应用程序打开。例如,图像既可以用内置的预览应用程序打开,也可以用PS打开。OS X和iOS为应用程序提供了一些方法,来指明自己能够打开某些特定类型的文档。

1、NSDocument和UIDocument类:

在OS X和iOS中,文档在应用程序中分别用NSDocument和UIDocument类表示。这两个类表示文档病存储其信息。每次创建一个新的文档时,都会为应用程序的这两个类的子类创建一个新的实例。

2、MVC中的文档对象

文档对象属于模型-视图-控制器范例的一部分。在app中,文档对象是模型对象,它们负责在次盘上读写信息,并向应用程序的其他部分提供该信息。

所有文档对象的核心都提供两个方法。第一个是保存方法(将信息写到磁盘上),第二个是加载方法(从磁盘上读取信息)。因此,文档对象负责将存放在内存中的文档信息,转换为可以存储在磁盘上的数据表示。

NSDocument的这两个方法是:

func dataOfType/func readFromData

UIDocument的这两个方法是:

func contentsForType/func loadFromContents

文档的类型:

1)平面文件:例如文本文档和图像,它们必须被整体加载到内存中(如果文件过大,可能导致性能问题)。

2)文件包:也就是文件夹。

3)数据库:它们是单个文件,可以根据需要部分加载到内存中(应用程序使用数据库,需要比较复杂的代码)。

目前,OS X和iOS使用平面文件和数据库较多,因为它们更加易于归档和乡iCloud上传。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 文档