iOS 文档数据存储与归档技术解析
1. 数据整理与文件包装器
1.1 -contentsForType:error: 方法的问题
在处理文档数据时, -contentsForType:error: 方法的核心是返回代表文档的原始数据,但它并不负责数据的存储方式。设计“将图像存储在单个文件中”的方案是不可行的,因为该方法不处理文件操作,文档可能以非文件的形式存储,如数据库记录或 XML 文件标签。
1.2 文件包装器(NSFileWrapper)
iOS 提供了文件包装器( NSFileWrapper )来解决这个问题。文件包装器是存储在一个或多个文件中的数据的抽象,有三种类型:常规、目录和链接,分别对应单个数据文件、文件系统目录和文件系统符号链接。文件包装器允许应用描述一组命名的数据块,并将它们组织在命名目录的层次结构中。当 UIDocument 存储在文件 URL 中时,文件包装器就相当于文件和文件夹。通过保持这种抽象, UIDocument 可以轻松地在网络上传输数据或将包装器转换为数据库记录。
1.3 使用文件包装器
使用文件包装器并不困难。常规文件包装器代表字节数组,类似于 NSData ;目录文件包装器包含任意数量的其他文件包装器。包装器与文件/文件夹的一个显著区别是,包装器有一个首选名称和一个键。键是唯一标识包装器的字符串,首选名称是它希望被识别的字符串。如果首选名称唯一,键和首选名称将相同;如果向目录包装器添加两个或多个具有相同首选名称的包装器,
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



