【发布时间】:2020-07-25 20:19:27
【问题描述】:
我有一个使用核心数据和 xcdatamodeld 文件的视图,其中包含 Item 结构的定义。如果我使用 Xcode 为 Item 生成文件并手动管理它们,预览效果很好。但是,当我在其他任何一种形式中使用 Codegen 时,都会收到错误消息,指出整个结构未定义。这会阻止预览工作。
代码:
struct ArchiveView: View {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
@FetchRequest(entity: Item.entity(), sortDescriptors: []) var fetchedResults: FetchedResults<Item>
var body: some View {
return NavigationView {
List(fetchedResults, id: \.self ) { (fetchedResult: Item) in
return PurchaseView(name: fetchedResults.name price: fetchedResults.price, purchaseDate: fetchedResults.date)
}
}.navigationBarTitle("Order")
}
}
Item+CoreDataClass 和 Item+CoreDataProperties 都丢失了,因为它们是由 xcode 自动生成的。
我现在正在使用手动 Codegen 来查看预览,但我很好奇是否可以使用其他选项。如何在核心数据文件中使用 Class Defintion Codegen 并且仍然能够使用 SwiftUI 预览?
【问题讨论】: