【发布时间】:2024-01-22 09:58:01
【问题描述】:
我有两个 CoreData 实体 A 和 B,它们之间是一对一的关系。 B 实体记录必须始终存在。 A 也必须与 B 有关系。
但是,CoreData 强制执行可选关系。
ForEach(items, id: \.self) { item in
MyView(aItem: item, bItem: item.B)
}
因此,上面的item.B 是可选的。
我需要 bItem 值作为 ObservedObject,但它们不能是可选的
struct MyView: View {
@ObservedObject var aItem: A
@ObservedObject var bItem: B
我尝试在 MyView 周围包裹 if let,但这会导致 NavigationLink 弹出问题。
无论我转向哪种方式,我都会遇到可选问题。
【问题讨论】:
-
一种方法是将模型中的代码生成(codegen)设置为手动并编辑文件,这样您就有了非可选的关系