Core data @获取请求崩溃预览

Core data @获取请求崩溃预览,core-data,swiftui,Core Data,Swiftui,我正在尝试将数据库中的项目加载到列表中,它在设备和模拟器上运行良好,但预览将始终崩溃,并显示以下消息: “无法在此文件中预览-连接中断:向代理发送消息” 导入快捷界面 导入CoreData 结构设置视图:视图{ @环境(\.managedObjectContext)变量moc @FetchRequest(实体:ChildProfile.entity(),sortDescriptors:[])变量children:FetchedResults var body:一些观点{ VStack{ 名单{

我正在尝试将数据库中的项目加载到列表中,它在设备和模拟器上运行良好,但预览将始终崩溃,并显示以下消息:

“无法在此文件中预览-连接中断:向代理发送消息”

导入快捷界面
导入CoreData
结构设置视图:视图{
@环境(\.managedObjectContext)变量moc
@FetchRequest(实体:ChildProfile.entity(),sortDescriptors:[])变量children:FetchedResults
var body:一些观点{
VStack{
名单{
节(标题:文本(“子项”)){
ForEach(children,id:\.id){child in
ChildRow(子:子)
}
}
}
}
}
}
结构设置视图预览:PreviewProvider{
静态let moc=NSManagedObjectContext(并发类型:.mainQueueConcurrencyType)
静态var预览:一些视图{
让defaultChild=ChildProfile(上下文:moc)
defaultChild.id=UUID()
defaultChild.name=“Dale”
返回SettingsView().environment(\.managedObjectContext,moc)
}
}
查看W预览崩溃的诊断,它显示:

错误域=NSCOCAERRORDOMAIN代码=516 无法将“ChildProfile+CoreDataClass.swift”链接到 “中间项”,因为具有相同名称的项已存在 UserInfo={NSSourceFilePathErrorKey=/Users/james/Library/Developer/Xcode/DerivedData/BedtimeClock-hehxrojiiepyadgitsedusieyozd/Build/Intermediates.noindex/Previews/Project One/Intermediates.noindex/Project One.build/Debug-iphonesimulator/Project 一.build/DerivedSources/CoreDataGenerated/Model/ChildProfile+CoreDataClass.swift, NSUserStringVariant=( 
> 链接
> ), NSDestinationFilePath=/var/folders/dp/hztzhf572q26jwx6vb9nqpw0000gn/T/previews-diagnostics-20200713-200707/Intermediates/ChildProfile+CoreDataClass.swift, NSFilePath=/Users/james/Library/Developer/Xcode/DerivedData/beddime_Clock-hehxrojiiepyadgitsedusiyozd/Build/Intermediates.noindex/Previews/Project One/Intermediates.noindex/Project One.build/Debug-iphonesimulator/Project 一.build/DerivedSources/CoreDataGenerated/Model/ChildProfile+CoreDataClass.swift, NSUnderlyingError=0x7fb78a150620{Error Domain=NSPOSIXErrorDomain 代码=17“文件存在”}


我可以成功预览ChildRow(),使用相同的预览代码。那么这是一个bug还是我做错了什么?

Clean>close Xcode>Delete Library/Developer/Xcode/DerivedData>open Xcode>Rebuild@Asperi没有骰子。我在删除预览模拟器数据的同时尝试过。仍然会得到相同的错误。清除>关闭Xcode>删除库/Developer/Xcode/DerivedData>打开Xc颂歌>Rebuild@Asperi没有骰子。我尝试过删除预览模拟器数据。仍然得到相同的错误。
import SwiftUI
import CoreData

struct SettingsView: View {
    @Environment(\.managedObjectContext) var moc
    @FetchRequest(entity: ChildProfile.entity(), sortDescriptors: []) var children: FetchedResults<ChildProfile>
    
    var body: some View {
        VStack {
            List {
                Section(header: Text("Children")) {
                    ForEach(children, id: \.id) { child in
                        ChildRow(child: child)
                    }
                }
            }
        }
    }
}

struct SettingsView_Previews: PreviewProvider {
    static let moc = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
    
    static var previews: some View {
        let defaultChild = ChildProfile(context: moc)
        defaultChild.id = UUID()
        defaultChild.name = "Dale"
        return SettingsView().environment(\.managedObjectContext, moc)
    }
}