You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iPad版Swift Playground中运行SwiftUI的Scene与App结构

问题原因
  • 报错No exact matches call 'setLiveView' instance method的核心原因是类型不匹配:PlaygroundSupport框架的setLiveView方法仅接收View或UIViewController类型的参数,你当前定义的Welcoming是遵循App协议的应用入口结构体,不存在匹配的方法签名没有对应参数类型,因此触发报错。
解决方案

提供两种适配iPad端Swift Playgrounds运行的写法,按需选择即可:

方案1:保留App完整生命周期结构

直接给Welcoming结构体添加@main入口标记即可直接运行,无需手动调用setLiveView:

import SwiftUI
import PlaygroundSupport

@main
struct Welcoming:App {
    var body: some Scene {
        WindowGroup {
            TabView {
                Text("one")
                Text("two")
            }
            // 可选:添加分页样式实现滑动切换效果
            .tabViewStyle(.page)
        }
    }
}

方案2:手动调用setLiveView预览界面

如果只需要预览单界面效果,将界面封装为独立View后传给setLiveView即可:

import SwiftUI
import PlaygroundSupport

struct ContentView: View {
    var body: some View {
        TabView {
            Text("one")
            Text("two")
        }
        .tabViewStyle(.page)
    }
}

PlaygroundPage.current.setLiveView(ContentView())
额外提醒

你当前代码里的文本tow为拼写错误,正确拼写为two。

内容的提问来源于stack exchange,提问作者Raymond Redington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:15:07