5 文稿
3 分钟阅读
原文链接: https://developer.apple.com/documentation/swiftui/documents
5 文稿
让人们能够打开和管理文稿。
概述
创建用于打开和编辑文稿的用户界面。

使用 ReadableDocument 和 WritableDocument 协议来定义文稿模型;当文稿需要同时支持读写时,也可以采用把两者结合起来的便捷协议 Document。这些协议让你直接访问文件 URL、与 Swift 并发集成,并支持进度报告。你也可以用 init(editing:contentType:editor:prepareDocument:) 这类构造器,使用以 SwiftData 为后端的文稿。
SwiftUI 支持人们期望基于文稿的应用具备的标准行为,并且贴合各个平台的惯例,例如多窗口支持、打开与存储面板。关于相关的设计指导,参见 Human Interface Guidelines 中的模式。
创建文稿
- 创建基于文稿的应用 —— 构建让人们能够使用协调式文件访问来打开、编辑和存储文件的应用。
- 处理高级文稿场景 —— 扩展你的基于文稿的应用,支持自定义文件格式、按需文件访问和进度报告。
- 更新你的基于文稿的应用 —— 把一个已有应用迁移到使用 URL 的方式读写文稿,并结合 Swift 并发。
- 用 SwiftUI 构建基于文稿的应用 —— 在多平台应用中创建、存储和打开文稿。
- 用 SwiftData 构建基于文稿的应用 —— 跟着 WWDC 讲者一起,把一个应用改造成使用 SwiftData 的应用。
- DocumentGroup —— 支持打开、创建和存储文稿的场景。
用引用类型实例存储文稿数据
- Document —— 同时支持读写的文稿。
- ReadableDocument —— 支持从文件读取的文稿类型。
- WritableDocument —— 支持写入文件的文稿类型。
- URLDocumentConfiguration —— 已打开文稿的配置,保存其文件 URL、最近修改日期和相关元数据。
- DocumentCreationContext —— 关于文稿是如何创建的上下文。
- DocumentBaseBox —— 一种 Box,允许设置其 Document 基类,而无需调用方知道 Box 及其基类的确切类型。
访问文稿配置
- documentConfiguration —— DocumentGroup 中文稿的配置。
- DocumentConfiguration —— DocumentGroup 中文稿的配置。
- undoManager —— 用来注册视图撤销操作的撤销管理器。
读写文稿
- DocumentReadConfiguration —— SwiftUI 传给 reader(configuration:) 的上下文。
- DocumentWriteConfiguration —— SwiftUI 传给 writer(configuration:) 的上下文。
- DocumentReader —— 从文件读取文稿内容的类型。
- DocumentWriter —— 把文稿内容写入文件的类型。
- FileWrapperDocumentReader —— 把
FileWrapper反序列化为快照的文稿读取器。 - FileWrapperDocumentWriter —— 把快照序列化为
FileWrapper的文稿写入器。
以编程方式打开文稿
- newDocument —— 环境中用于呈现新文稿的动作。
- openDocument —— 环境中用于呈现已有文稿的动作。
- OpenDocumentAction —— 呈现已有文稿的动作。
配置文稿启动体验
- DocumentGroupLaunchScene —— 面向基于文稿的应用的启动场景。
- documentLaunchTitle(_:) —— 设置文稿启动卡片上显示的标题。
- documentLaunchSubtitle(_:) —— 设置文稿启动卡片上标题下方显示的副标题。
- DocumentLaunchView —— 启动文稿相关用户体验时呈现的视图。
- documentLaunchTitle(_:) —— 设置文稿启动卡片上显示的标题。
- documentLaunchSubtitle(_:) —— 设置文稿启动卡片上标题下方显示的副标题。
- documentBrowserContextMenu(_:) —— 为一个
DocumentLaunchView添加接受所选文件列表作为参数的这些操作。 - DocumentLaunchGeometryProxy —— 用于访问场景及其标题视图边框的代理。
- DefaultDocumentGroupLaunchActions —— 文稿组启动场景和文稿启动视图的默认操作。
- NewDocumentButton —— 创建并打开新文稿的按钮。
- DefaultNewDocumentButtonLabel —— 新文稿按钮使用的默认标签。
- DocumentCreationSource —— 描述用于创建新文稿的来源。
重命名文稿
- RenameButton —— 触发标准重命名操作的按钮。
- renameAction(_:) —— 设置重命名操作要运行的闭包。
- rename —— 激活标准重命名交互的动作。
- RenameAction —— 激活标准重命名交互的动作。
已弃用
- FileDocument —— 用于把文稿与文件之间相互序列化的类型。
- FileDocumentConfiguration —— 已打开文件文稿的属性。
- FileDocumentReadConfiguration —— 读取文件内容的配置。
- FileDocumentWriteConfiguration —— 序列化文件内容的配置。
- NewDocumentAction —— 呈现新文稿的动作。
- ReferenceFileDocument —— 用于把引用类型文稿与文件之间相互序列化的类型。
- ReferenceFileDocumentConfiguration —— 已打开引用类型文件文稿的属性。