首页 > 解决方案 > SwiftUI 预览的工作原理是什么?

问题描述

Xcode 中的 SwiftUI 预览功能是我最喜欢 SwiftUI 的地方之一。

但我很难准确理解 Xcode 如何运行我的代码以生成预览,以及它在什么时候停止执行我的代码。它肯定在运行我的代码,因为它可以编译并且我的更改适用于预览版,包括条件逻辑。

但是如果我包含一个计时器或网络请求,除非我按下实时预览按钮或实际在模拟器中运行应用程序,否则 Xcode 似乎不会更新预览。

谁能解释一下 SwiftUI 预览是如何工作的,以及实时预览和常规预览之间的确切区别是什么?

标签: swiftui

解决方案


预览模式只是“按原样”执行视图结构的单遍渲染,即。具有默认值或初始值。这就是为什么只显示静态信息的原因。

Live Preview运行模拟器的一些变体,将您的应用程序作为上下文启动并在其中注入当前的 PreviewProvider。这就是所有运行时功能都起作用的原因。


推荐阅读