Swift 如何使用Codegen:类定义正确更改实体的名称?

Swift 如何使用Codegen:类定义正确更改实体的名称?,swift,xcode,core-data,swiftui,Swift,Xcode,Core Data,Swiftui,我在ContentView中有一个简单的SwiftUI(但我认为UI工具包在这里不会有什么不同)代码: import SwiftUI struct ContentView: View { @Environment(\.managedObjectContext) var managedObjectContext @FetchRequest( entity: EntityName.entity(), sortDescriptors: []) var en

我在ContentView中有一个简单的SwiftUI(但我认为UI工具包在这里不会有什么不同)代码:

import SwiftUI

struct ContentView: View {

    @Environment(\.managedObjectContext) var managedObjectContext

    @FetchRequest(
            entity: EntityName.entity(), sortDescriptors: []) var entityName: FetchedResults<EntityName>

    var body: some View {

        Text("test")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
导入快捷界面
结构ContentView:View{
@环境(\.managedObjectContext)变量managedObjectContext
@获取请求(
实体:EntityName.entity(),sortDescriptors:[])变量EntityName:FetchedResults
var body:一些观点{
文本(“测试”)
}
}
结构内容视图\u预览:PreviewProvider{
静态var预览:一些视图{
ContentView()
}
}
我还创建了一个名为:EntityName的实体,class:EntityName,Module:CurrentProduct Module,Codegen:class Definition

现在,假设我需要将实体名称更改为NewEntityName。我会:

  • 将ContentView中每次出现的EntityName更改为NewEntityName
  • 转到ProjectName.xcdatamodeld并显示数据模型检查器
  • 将名称更改为NewEntityName
  • 将类更改为NewEntityName
  • 选择产品->清洁构建文件夹
  • 选择产品->构建
  • 恢复ContentView的预览
  • 在所有这些步骤之后,我得到了一个错误:

    使用未声明的类型“NewEntityName”

    在线:

    @FetchRequest(entity: NewEntityName.entity(), sortDescriptors: []) var entityName: FetchedResults<NewEntityName>
    
    @FetchRequest(实体:NewEntityName.entity(),sortDescriptors:[])变量entityName:FetchedResults
    
    这是Xcode中的错误吗?还是我做错了什么?我是不是遗漏了一些明显的东西?

    我是通过以下方式完成的(使用Xcode 11.2进行测试)

  • 打开查找导航器
  • 查找“OldEntityName”
  • 将全部替换为“NewEntityName”;拯救一切
  • 清洁构建>>成功
  • 刷新预览>>失败
  • 重新启动Xcode
  • 干净利落
  • 刷新预览>>成功

  • 谢谢重新启动>>清理生成文件夹>>生成>>预览后,它工作正常