swiftui - 使用 CoreData 和 SwiftUI 在 Scope 中找不到类型
问题描述
使用此代码编译并且似乎运行正常,因为我可以点击添加按钮并创建新项目)我在 Xcode 中显示错误。如何摆脱烦人的错误?
我尝试删除构建文件夹,重新启动 Xcode 无济于事。
import SwiftUI
import CoreData
struct ContentView: View {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(
sortDescriptors: [],
animation: .default)
private var items: FetchedResults<Medicine> // Cannot find type ‘Medicine’ in scope
var body: some View {
VStack {
List {
ForEach(items) { item in
Text("Start at \(item.start!, formatter: itemFormatter)")
}
.onDelete(perform: deleteItems)
}
HStack {
EditButton()
Spacer()
Button(action: addItem, label: {
Text("Add")
})
}
}
}
解决方案
正如所指出的,这是一个预编译器问题,您会在编辑器中注意到它。
在确保.xcdatamodeld
文件已保存并且其Codegen
属性设置为 后Class Definition
,您应该能够构建(Product -> Build 或 ⌘-B)。
另一个警告:查看任何可能的其他错误消息。就我而言,我无意中将一个属性添加到了一个没有类型(例如 String、Int16 等)的实体(我猜是鼠标滑落)。此错误阻止处理数据模型文件并产生“在范围内找不到”错误。修复数据模型也修复了下游错误。
推荐阅读
- python - 使用相似维度转换行值
- perl - Perl prometheus gauge add label with set_function 没有给出预期的结果
- twitter - 如何直接从推文列表中制作推特时刻?
- apache-spark - H2O 苏打水 - DNN mini_batch_size 参数
- cookies - 带有 cookie 的 HttpsUrlConnection ADFS 身份验证不起作用
- css - SVG“填充”问题,在描边类型输出后
- php - 如何确定我的 serviceaccountpath 在哪里?
- haskell - 背包使用示例
- ionic3 - @ionic-native/network 的 Ionic 3 网络不返回连接状态
- javascript - Cordova android 应用程序用户数据大小不断增长