ios - SwiftUI / iOS 14:如何使用基于文档的(DocumentGroup)应用程序恢复上一个活动文档(状态?)
问题描述
我正在使用 Xcode 提供的 SwiftUI 多平台、基于文档的应用程序模板。到目前为止,一切都“一帆风顺”,如果你愿意的话,但是我无法弄清楚我认为是“内置”的东西:
如果由于某些操作系统管理原因应用程序被“杀死”(或者如果故意在 Xcode 中停止它),当重新启动时,应用程序会“忘记”用户正在处理的文档,并开始显示文档浏览器。
我查看了文档,发现了一篇题为“ Restoring your app's state with SwiftUI ”的文章——这篇文章提供了一个非基于文档的应用程序的示例代码,但对于我来说,我什至无法开始理解它是什么我应该这样做以使其适应基于文档的(DocumentGroup)场景。
我“理解”了 SceneStorage 的概念,我什至能够保留一些声明为示例 ContentView 的 SceneStorage 属性的随机文本,但我不明白我应该如何使用它来重新启动应用程序时,最后打开文件,好吧,重新打开。
我有点尝试在@main 代码声明中执行此操作,但无法使其工作。此外,在这种情况下,谷歌并不是我的朋友——无法在任何地方找到这种特殊情况的单个示例。
我知道我可能会以“菜鸟”的身份通过(我是......)而且这是相当新的,所以我应该期待周围缺乏“东西”,而且这不应该那么难,所以请原谅我的“菜鸟” -iness”提前。
如果有人对如何实现这一点有任何想法,或者可以将我指向一个带有基于文档/DocumentGroup 应用程序的 WORKING 示例,我将永远感激不尽。
解决方案
推荐阅读
- c# - system.linq.enumaerable+
我有一个 SQL 查询,它从 SQL Express DB 读取字符串数据(切换到 Azure)。检索到数据后,我将其读入数组,然后在组合框中显示数组的内容。我没有收到任何错误,但是,在组合框中,显示了一个额外的字段,我无法弄清楚如何防止这种情况。
我有一个用 {get; 创建的数组的类 放;}。下面是主程序的实际代码:
- javascript - Cytoscape.js:节点上的右键单击事件
- ios - LaunchScreen 未显示在任何设备和项目上
- java - 使用 OkHttp 的 Cookie
- c++ - 如何直接(不使用指针作为函数参数)访问 OpenAcc 计算区域中 GPU 上的数组?
- python - raise IOError('File not found: %s' % basename)
- javascript - 骨干js模板未通过动态jsp加载
- python - Python:网格上的多个散点图
- angular - PrimeNG 中的错误 - 错误 NG8001:“p-table”不是已知元素
- sql - 我想以行的形式将表的所有列数据插入到另一个表中