【问题标题】:SwiftUI lists in Xcode PlaygroundXcode Playground 中的 SwiftUI 列表
【发布时间】: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 的项目。

标签: xcode 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" 返回表达式求值前的状态。"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多