ios - 如何修复 Xcode 版本 11.0 测试版画布崩溃?
问题描述
我正在关注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
错误消息。
这是看起来像的图像:
请注意,在某一点之前一切正常。
在此先感谢您的帮助!
解决方案
我犯了同样的错误;我通过从教程中下载更新的资源来修复。基本上我认为您已添加isFavorite
到Landmark
模型中,但在 JSON 中缺少该字段,因此解码失败。从教程资产中下载并替换新的 JSON。
如果问题不是,应该是缺少另一个资源,每次从教程开始新课程时,请isFavorite
务必下载新模型和相关资源。Landmark
这是 Apple 的错,因为他们没有提到您需要更新 JSON 文件以匹配Landmark
模型。
编辑
如果您仍然有问题,只需在Landmark
此处添加您的 json 和您的模型,以便我们查看它们
推荐阅读
- python - WordNet 获取 Lexicographer 文件的单词表
- python - DRF 序列化问题:结合 django-simple-history 和 django-polymorphic
- r - 按组计算时间的相对变化
- c++ - Visual Studio 2017:无法打开包含文件 'd3dx9.h' 在 .exe 应用程序使用的静态库中没有此类文件或目录
- python - 我怎样才能有两个表 A 和 B,其中 B 具有 A 的所有列?
- flutter - 如何在状态转换时添加淡入/淡出
- node.js - Mongoose 不更新值
- postgresql - Sequelize:MariaDB 和 Postgres 之间的多对多关系
- mysql - MySql - 查询错误:错误:ER_OPERAND_COLUMNS:操作数应包含 1 列
- html - 在电子邮件中作为正文发送 RDLC