【发布时间】:2019-06-05 11:48:34
【问题描述】:
我正在关注 SwiftUI 的 https://developer.apple.com/tutorials/swiftui/tutorials,并且我已经下载了 macOS Catalina 和 Xcode 11.0 beta。
Canvas 崩溃并且即使在尝试以下操作后也无法恢复:
- 我已尝试彻底清理项目 - 失败
- 我已尝试重新启动 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 错误。
这是一张图片:
请注意,在某个时间点之前一切正常。
提前感谢您的帮助!
【问题讨论】:
-
删除最后添加的行,或者一起开始一个新项目时会发生什么?
-
如果你在模拟器/设备上运行会发生什么?由于 JSON 解码导致崩溃,但画布无法显示此类错误,所以我在模拟器上运行后发现
-
@RicoCrescenzio 是的,当我尝试运行应用程序时出现此错误:
Fatal error: Couldn't parse landmarkData.json as Array<Landmark>:这很奇怪,因为一切正常......我根本没有触及 JSON 文件...... . 你有同样的问题吗?如果有,你是怎么解决的?