【问题标题】:Cannot preview this file - [App name] may have crashed SWIFTUI XCODE11无法预览此文件 - [App name] 可能已崩溃 SWIFTUI XCODE11
【发布时间】:2020-07-26 23:32:38
【问题描述】:

我尝试与 pisteData.json 数据文件一起预览构建此代码,它构建良好,但崩溃并显示“无法预览此文件 - [App Name] 可能已崩溃”有什么想法吗?

import SwiftUI

struct PisteRow: View {
    var pista: Structure

    var body: some View {
        HStack {
            padding()
            pista.image
                .resizable()
                .frame(width: 50, height: 50)
                .clipShape(Circle())

            Text(pista.name)
            Spacer()
        }
    }
}

struct PisteRow_Previews: PreviewProvider {
    static var previews: some View {
        PisteRow(pista: pisteData[0])
            .previewLayout(.fixed(width: 300, height: 70))
    }
}

【问题讨论】:

  • 什么是pisteData[0]
  • @Asperi pisteData 是 json 数据文件,[0] 应该是数据引用的 int
  • 但是你的PisteRow 期望Structurepista 而不是JSON,所以你必须给它Structure 值。
  • @Asperi 是的,它连接到结构,但现在它给了我Updating took more than 5 seconds 错误...
  • 似乎一旦我添加了结构数据,它就开始构建但无法预览,即使在其他文件上也是如此。但如果我把它拿出来并用直接输入的样本数据填写所有内容,它确实有效

标签: ios swift xcode swiftui xcode11


【解决方案1】:

您可以使用预览中的 .init() 函数来初始化测试Structure。像这样:

struct PisteRow_Previews: PreviewProvider {
    static var previews: some View {
        PisteRow(pista: .init(image: Image(systemName:"xmark"), text: "test"))
            .previewLayout(.fixed(width: 300, height: 70))
    }
}

【讨论】:

  • 我试图这样做,但它需要一个解码器(来自:[decoder],image.......
猜你喜欢
  • 1970-01-01
  • 2020-06-06
  • 2020-04-18
  • 1970-01-01
  • 2022-08-09
  • 2020-07-10
  • 2022-01-25
  • 1970-01-01
相关资源
最近更新 更多