Menu
CoddyTech

SwiftUI 在线编辑器

编写、运行和分享代码片段,无需任何配置。

ContentView.swift
预览

在线运行 SwiftUI,在 iPhone 上看到你的应用

这是一个免费的 SwiftUI 在线编辑器。写一个 ContentView,你的视图就会出现在代码旁边一块 iPhone 大小的屏幕上。按钮、开关和文本框都能响应点按,所以 @State 的变化会像在真机上一样显示出来。不需要 Mac,不需要 Xcode,也不用下载模拟器。

你的代码由 swiftc 编译,基于 Coddy 自己实现的 SwiftUI,Coddy SwiftUI 课程里的实时预览用的也是它。它覆盖了日常会用到的 API:各种栈、Text、Image(systemName:)、Button、Toggle、TextField、Slider、Stepper、Picker、List、ForEach、Form、NavigationStack、弹出页和提示框,以及 @State、@Binding、ObservableObject 和 @Published。它不是 Apple 的框架,所以 UIKit、MapKit、Core Data 等 Apple 专有框架无法使用。

这个 SwiftUI 在线编辑器好用在哪里

  • iPhone 实时预览:屏幕按 iPhone 尺寸渲染在设备外框里,带状态栏和灵动岛,布局在手机上什么样,这里就什么样。
  • 可以点按应用。按钮、开关、步进器和文本框都会响应,预览会在全新的状态上重放你的点按,所以 @State 和 @Binding 的表现和真实应用一样。
  • 自动预览:停止输入片刻后屏幕会重新构建,点击刷新按钮会让应用从头开始。编译错误会指向文件中的具体行。
  • 编辑器里有 SwiftUI 代码提示:输入点号后提示修饰符,提示参数可取的值(.font(.、.foregroundStyle(.),输入 @ 后提示属性包装器,还能提示 SF Symbol 名称。
  • 把手机画面保存为 PNG 截图,下载 ContentView.swift,以后在 Xcode 中打开。从 Xcode 粘贴过来的文件也能构建:#Preview 块会被忽略。

可以在 SwiftUI 在线编辑器里做什么

  • 待办事项列表:用 List、ForEach($items),每行一个 Toggle,再加一个 TextField 和一个添加新行的按钮。
  • 设置页面:一个分区的 Form,里面有 Picker、Stepper 和 Slider,全部绑定到 @State。
  • 导航:一个带标题的 NavigationStack,每行是一个 NavigationLink,点按后推入详情视图。
  • 布局实验:用 VStack、HStack 和 ZStack 配合 .padding、.frame、.background 和圆角形状,看看修饰符是怎样叠加的。

SwiftUI 在线编辑器常见问题

没有 Mac 能运行 SwiftUI 吗?

能。这个在线编辑器可以在任何现代浏览器中运行,Windows、Linux、Chromebook 或 iPad 都行。你的代码在 Coddy 的服务器上编译,屏幕直接绘制在网页里,所以试用 SwiftUI 不需要 Xcode、Mac 或 iOS 模拟器。

SwiftUI 在线编辑器免费吗?

免费,而且无需注册:打开页面,修改代码,看手机屏幕的变化就行。

这是 Apple 的 SwiftUI 吗?

不是。这是 Coddy 自己实现的 SwiftUI 视图、修饰符和属性包装器,由 swiftc 编译,再绘制成 iPhone 屏幕。日常的 SwiftUI 代码无需修改就能运行,预览也和 Coddy SwiftUI 课程用来展示和评分的是同一个。UIKit、MapKit、Core Data 等 Apple 专有框架无法使用,动画只显示最终状态。

可以用 @Observable 或 #Preview 吗?
共享数据请用 ObservableObject 配合 @Published 和 @StateObject。@Observable 宏和 #Preview 需要 Xcode 的宏插件;#Preview 块会被忽略,所以从 Xcode 粘贴过来的文件仍然能构建,应用会显示 ContentView。你也可以添加自己的 @main App 结构体。
试用在线编辑器之后,怎样学习 SwiftUI?
修改示例应用,在预览里一路点按试试。想系统学习时,Coddy 的 SwiftUI 课程会通过一节节短课讲解视图、修饰符、栈、@State、列表、导航、@Binding 和可观察数据,每节课都有同样的 iPhone 实时预览。

适合 SwiftUI 的实用工具

与 SwiftUI 在线编辑器搭配使用的免费浏览器工具,全部来自 Coddy。