如何创建一个扩展来处理多个核心数据实体
How to create an extension to deal with multiple core data entities
我有两个名为 Car
和 Owner
的核心数据实体,显然 NSManagedObject
并且作为所有核心数据实体,默认情况下都是 @Observable
。
我创建了一个 class,我在其中观察其中一个实体,例如:
class RadioControlModel {
@ObservedObject var carEntity:Car
// ... bla bla
init(_ carEntity:Car, _ name:String) {
self.carEntity = readCarEntityWith(name)
}
}
此 class 是允许用户切换 Car
实体的布尔值状态的无线电控件模型。
现在我需要对 Owner
实体执行相同的操作,即使用此 class 更改此 class 的布尔值,但 init
绑定到 Car
。我如何将其声明为通用的,以便 RadioControlModel
可以接受任何核心数据实体,而不仅仅是类型 Car
.
我这里的问题是这样做并继续有变量@Observable
,即响应变化。
试试这个:
class RadioControlModel<T: NSManagedObject> {
@ObservedObject var carEntity:T
// ... bla bla
init(_ carEntity:T, _ name:String) {
self.carEntity = readCarEntityWith(name)
}
}
我有两个名为 Car
和 Owner
的核心数据实体,显然 NSManagedObject
并且作为所有核心数据实体,默认情况下都是 @Observable
。
我创建了一个 class,我在其中观察其中一个实体,例如:
class RadioControlModel {
@ObservedObject var carEntity:Car
// ... bla bla
init(_ carEntity:Car, _ name:String) {
self.carEntity = readCarEntityWith(name)
}
}
此 class 是允许用户切换 Car
实体的布尔值状态的无线电控件模型。
现在我需要对 Owner
实体执行相同的操作,即使用此 class 更改此 class 的布尔值,但 init
绑定到 Car
。我如何将其声明为通用的,以便 RadioControlModel
可以接受任何核心数据实体,而不仅仅是类型 Car
.
我这里的问题是这样做并继续有变量@Observable
,即响应变化。
试试这个:
class RadioControlModel<T: NSManagedObject> {
@ObservedObject var carEntity:T
// ... bla bla
init(_ carEntity:T, _ name:String) {
self.carEntity = readCarEntityWith(name)
}
}