swiftui - SwiftUI 预览的工作原理是什么?
问题描述
Xcode 中的 SwiftUI 预览功能是我最喜欢 SwiftUI 的地方之一。
但我很难准确理解 Xcode 如何运行我的代码以生成预览,以及它在什么时候停止执行我的代码。它肯定在运行我的代码,因为它可以编译并且我的更改适用于预览版,包括条件逻辑。
但是如果我包含一个计时器或网络请求,除非我按下实时预览按钮或实际在模拟器中运行应用程序,否则 Xcode 似乎不会更新预览。
谁能解释一下 SwiftUI 预览是如何工作的,以及实时预览和常规预览之间的确切区别是什么?
解决方案
预览模式只是“按原样”执行视图结构的单遍渲染,即。具有默认值或初始值。这就是为什么只显示静态信息的原因。
Live Preview运行模拟器的一些变体,将您的应用程序作为上下文启动并在其中注入当前的 PreviewProvider。这就是所有运行时功能都起作用的原因。
推荐阅读
- java - 无法识别下拉列表中的元素
- java - 如何使用 Auto Value Gson 1.0.0 设置默认值
- java - 如何使用 Java 制作 Group By 语句
- c# - 为什么我在尝试使用 C# 写入日志文件时获得“不支持 URI 格式”异常?
- python - unresolved import 'GUI.py' Python(unresolved-import) 从同一目录中的代码导入函数时
- ruby - 这个版本的 ChromeDriver 只支持 Chrome 版本 75 但我有 chromedriver 75 (webdriver)
- xml - 如何在 Spring Boot 中处理传入和传出的 SOAP XML 消息
- javascript - document.getElementById("myB").style.top = "100px";
- python - 如何使用 python 打开现有的 .xlsx 粘贴数据框到指定的电子表格和位置而不擦除其他选项卡和值?
- python - 跨 Pandas 系列关键字的部分字符串匹配,以及包含标题的单独 DF,以及要聚合的其他数据