我正在使用SwiftUI的https://developer.apple.com/tutorials/swiftui/tutorials,并且下载了 macOS Catalina和Xcode 11.0 beta。

尝试以下操作后,画布崩溃且无法恢复:

  • 我尝试彻底清理项目-
  • 失败
  • 我尝试重新启动Xcode-
  • 失败
  • 我尝试重新启动-
  • 失败

    代码只是声明了UI,没有什么太花哨的了。
    import SwiftUI
    
    struct LandmarkDetail : View {
        var landmark: Landmark
    
        var body: some View {
            VStack {
                MapView(coordinate: landmark.locationCoordinate)
                    .edgesIgnoringSafeArea(.top)
                    .frame(height: 300)
    
                CircleImage(image: landmark.image(forSize: 250))
                    .offset(y: -130.0)
                    .padding(.bottom, -130.0)
    
                VStack(alignment: .leading) {
                    Text(landmark.name)
                        .font(.title)
                        .multilineTextAlignment(.center)
    
    
                    HStack {
                        Text(landmark.park)
                            .font(.subheadline)
                        Spacer()
                        Text(landmark.state)
                            .font(.subheadline)
                    }
                }
                .padding()
    
                Spacer()
            }
            .navigationBarTitle(Text(landmark.name), displayMode: .inline)
        }
    }
    
    #if DEBUG
    struct ContentView_Previews : PreviewProvider {
        static var previews: some View {
            LandmarkDetail(landmark: landmarkData[0])
        }
    }
    #endif
    
    

    我希望画布显示UI,但是我不断收到Cannot preview in this file --- MyApp.app may have crashed错误。

    这是一个看起来像的图像:

    ios - 如何修复Xcode 11.0 beta版Canvas崩溃?-LMLPHP

    请注意,在一定程度上一切正常。

    在此先感谢您的帮助!

    最佳答案

    我犯了同样的错误;我通过从教程中下载更新的资源进行修复。基本上,我认为您已将isFavorite添加到Landmark模型中,但是在JSON中缺少该字段,因此解码失败。下载并从教程资源中替换新的JSON。

    如果问题不是isFavorite,则应该缺少另一个资源,只需确保每次从教程中上新课时都下载新的Landmark模型和相关资源。

    这是Apple的错,因为他们没有提到您需要更新JSON文件以匹配Landmark模型。

    编辑

    如果仍然有问题,只需在此处添加json和Landmark模型,以便我们对其进行了解

    10-08 07:44
    查看更多