代码之家  ›  专栏  ›  技术社区  ›  Duck

如何创建扩展以处理多个核心数据实体

  •  0
  • Duck  · 技术社区  · 4 年前

    我有两个名为 Car Owner 显然,两者都有 NSManagedObject 作为所有的核心数据实体,它们都是 @Observable 默认情况下。

    我创建了一个类,在其中我观察了其中一个实体,类似于:

    class RadioControlModel {
    
      @ObservedObject var carEntity:Car
    
      // ... bla bla
    
      init(_ carEntity:Car, _ name:String) {
        self.carEntity = readCarEntityWith(name)
      }
    }
    

    此类是无线电控件的模型,允许用户切换 汽车 实体

    现在,我需要对这个问题做同样的处理 物主 实体,即使用该类更改该类的布尔值,但 init 系于 汽车 .我如何将其声明为通用so RadioControlModel 可以接受任何核心数据实体,而不仅仅是类型 汽车 .

    我这里的问题是这样做,并继续有变量 @可观察 ,即响应变化。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Timmy    4 年前

    试试这个:

    class RadioControlModel<T: NSManagedObject> {
    
      @ObservedObject var carEntity:T
    
      // ... bla bla
    
      init(_ carEntity:T, _ name:String) {
        self.carEntity = readCarEntityWith(name)
      }
    }