Xcode Playground 中的 SwiftUI 列表
Posted
技术标签:
【中文标题】Xcode Playground 中的 SwiftUI 列表【英文标题】:SwiftUI lists in Xcode Playground 【发布时间】:2020-02-14 15:01:50 【问题描述】:我正在尝试在 Xcode 操场上学习 SwiftUI。我试图制作一个简单的列表(应该很容易吧?),但 Xcode 在 ios 项目中运行时会导致 Playground 崩溃。
这是我的代码:
import UIKit
import PlaygroundSupport
import SwiftUI
struct ContentView: View
var body: some View
List(0..<5) item in
Text("Test")
let viewController = UIHostingController(rootView: ContentView())
PlaygroundPage.current.liveView = viewController
【问题讨论】:
这是 Xcode 11.3 问题。经过测试并在 Xcode 11.2 上运行良好。对于 SwiftUI,最好使用 Xcode 内部 Preview,这在 Playground 中不可用。它更实用、更方便(和生活)。只需从模板创建基于 SwiftUI 的项目。 【参考方案1】:无法解决问题,但无论如何您绝对应该检查 swift playground,它们很棒 https://www.apple.com/swift/playgrounds/ :)
【讨论】:
【参考方案2】:这可能是 Xcode 12.5 中的一个错误,但在 Xcode 13.0 Beta 中一切正常
另外,在 SwfitUI 中,您可以使用 PlaygroundPage.current.setLiveView
而不是创建主机控制器。
import SwiftUI
import PlaygroundSupport
struct ContentView: View
var body: some View
List(1..<5)
Text("Item \($0)")
PlaygroundPage.current.setLiveView(ContentView())
这就是它的样子:
【讨论】:
这对我不起作用(Xcode 12.5),错误:“错误:执行被中断,原因:信号 SIGABRT。进程已留在中断点,使用“线程返回-x" 返回表达式求值前的状态。"以上是关于Xcode Playground 中的 SwiftUI 列表的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 6 Beta / Swift - Playground 未更新
Swift 2.0 代码在 Xcode 中有效,但在 Playground 中无效
Xcode Playground 因非 Swift 代码而崩溃